【问题标题】:Showing unicode characters, like করে, in matplotlib在 matplotlib 中显示 unicode 字符,如 করে
【发布时间】:2017-04-20 03:41:06
【问题描述】:

我想用 matplotlib 绘制文本“কৃষক জমিতে ধান চাষ করে”,该怎么办...?

我试过流动,但没有用。

s = u"কৃষক জমিতে ধান চাষ করে"
x = 0.2
y = 0.2
matplotlib.pyplot.text(x, y, s)

【问题讨论】:

标签: python-3.x matplotlib plot


【解决方案1】:

Python3

这应该适用于包含这些 un​​icode 字符的字体。我用kalpurush 覆盖了 Bangla unicodes。您可以像这样将字体传递给matplotlib:

import matplotlib.font_manager as fm
import matplotlib.pyplot as plt

prop = fm.FontProperties(fname='kalpurush.ttf')
s = u"কৃষক জমিতে ধান চাষ করে"
x = 0.2
y = 0.2
plt.text(x, y, s, fontproperties=prop)
plt.show()

奖励:Python2

对于 python 2,这非常简单。只需在文件顶部添加:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

【讨论】:

  • 你确定你的字体覆盖了unicode字符吗?
  • #!/usr/bin/env python # -- coding: utf-8 -- import matplotlib.font_manager as fm import matplotlib.pyplot as plt prop = fm. FontProperties(fname='kalpurush.ttf') s = u'কৃষক জমিতে ধান চাষ করে' x = 0.2 y = 0.2 plt.text(x, y, s, fontproperties=prop) plt.show()
  • 只有当你使用 python2 时,标题才相关。 ttf 文件的路径必须正确。在您的情况下,该文件必须在您的源代码所在的位置
  • ttf文件在我的源代码所在的地方,我把你写的标题放了。
  • 我可以得到如图所示的孟加拉语字体。但是,如果您注意到,字体的顺序不正确。 “জমিতে”和“করে”未正确绘制。你有什么建议吗?
猜你喜欢
  • 2013-01-31
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
相关资源
最近更新 更多