xlabel 和 ylabel 不显示阿拉伯语
x = [2, 4, 6, 8, 10]
y = [6, 7, 8, 9, 10]
plt.bar(x, y, label='Bar1', color='red')
plt.xlabel("الفواصل")
plt.ylabel("الترتيبات")
plt.show()
xlabel 和 ylabel 不显示阿拉伯语
x = [2, 4, 6, 8, 10]
y = [6, 7, 8, 9, 10]
plt.bar(x, y, label='Bar1', color='red')
plt.xlabel("الفواصل")
plt.ylabel("الترتيبات")
plt.show()
您首先需要安装arabic-reshaper和python-bidi。
import arabic_reshaper
from bidi.algorithm import get_display
import matplotlib.pyplot as plt
x = [2, 4, 6, 8, 10]
y = [6, 7, 8, 9, 10]
xlbl = get_display( arabic_reshaper.reshape('الفواصل'.decode('utf8')))
ylbl = get_display( arabic_reshaper.reshape('الترتيبات'.decode('utf8')))
plt.bar(x, y, label='Bar1', color='red')
plt.xlabel(xlbl, fontdict=None, labelpad=None)
plt.ylabel(ylbl, fontdict=None, labelpad=None)
plt.show()
情节阿拉伯语
如果您使用 unicode 字符串 ( u"الفواصل"
) 而不是通常的字符串,它应该可以工作。
x = [2, 4, 6, 8, 10]
y = [6, 7, 8, 9, 10]
plt.bar(x, y, label='Bar1', color='red')
plt.xlabel(u"الفواصل")
plt.ylabel(u"الترتيبات")
plt.show()
或者,为了得到正确的顺序
import matplotlib.pyplot as plt
x = [2, 4, 6, 8, 10]
y = [6, 7, 8, 9, 10]
plt.bar(x, y, label='Bar1', color='red')
plt.xlabel(u"الفواصل"[::-1])
plt.ylabel(u"الترتيبات"[::-1])
plt.show()