相关疑难解决方法(0)

Matplotlib:从右到左书写(希伯来语,阿拉伯语等)

我正在尝试在我的情节中添加一些文本,即RTL(在本例中为希伯来语).经过一些工作设法让它显示文本,但它显示LTR(意思是,以崇敬的顺序).我已经挖掘了参考资料并在网上进行了广泛的搜索,没有任何结果.

我正在使用的一个例子:

import matplotlib.pyplot as plt
plt.text(0.5, 0.5, u'???? ???? ?', name = 'Arial')
plt.show()
Run Code Online (Sandbox Code Playgroud)

它显示'אהתיכםלוש'.如果你看不到希伯来语,就好像我输入'Hello',输出就是'olleH'.

我不能简单地反转输入,因为它是混合LTR和RTL.

我们将不胜感激.

python matplotlib hebrew right-to-left

16
推荐指数
3
解决办法
4137
查看次数

Python Networkx和matplotlib中从右到左的支持

我试图用python33 networkx和matplotlib在Linux Fedora 19 KDE(64位)上运行绘制字典图.在输入英文脚本作为输入数据时,图形绘制得很好.但是,当提供阿拉伯语脚本作为输入数据时,我得到的是并列排队的正方形.这是英文脚本中简单图形的示例:

用英文字母写的阿拉伯文字

这是一个用阿拉伯文字写的阿拉伯语单词的简单图表(从右到左书写).

用阿拉伯字母写的阿拉伯文字

问题是:如何在使用python networkx和matplotlib.pyplot生成的图形中显示阿拉伯语脚本?非常感谢您的帮助!

编辑:在Chronial建议选择正确的字体后,我在python33 shell中执行了这些命令:

>>> import matplotlib.pyplot
>>> matplotlib.rcParams.update({font.family' : 'TraditionalArabic'})
Run Code Online (Sandbox Code Playgroud)

然后我用阿拉伯语构建了图形.但是,绘制图形时未显示阿拉伯文字.它显示了jsut正方形.我不知道matplotlib.pyplot是使用系统字体还是它有自己的字体包.假设matplotlib.pyplot使用系统字体,那么它应该显示阿拉伯语脚本.似乎需要将阿拉伯字体安装到matplotlib.pyplot.但我不知道该怎么做.非常感谢您的帮助!

编辑#3:在系统中安装阿拉伯字体后,我可以使用阿拉伯语脚本生成图表,但脚本从左到右显示.在最后阶段取得了很好的进展:这是从右到左出现的阿拉伯文字.下面是图表的一个镜头:

阿拉伯文字,但从左到右而不是从右到左出现

此致,

穆罕默德

python graph matplotlib arabic networkx

6
推荐指数
1
解决办法
1033
查看次数

标签 统计

matplotlib ×2

python ×2

arabic ×1

graph ×1

hebrew ×1

networkx ×1

right-to-left ×1