在 matplotlib 中显示 unicode 字符,如 ???

Md.*_*san 5 plot matplotlib python-3.x

我想用 matplotlib 绘制文本“???? ????? ??? ??? ???”,该怎么办...?

我尝试了流动,但没有奏效。

s = u"???? ????? ??? ??? ???"
x = 0.2
y = 0.2
matplotlib.pyplot.text(x, y, s)
Run Code Online (Sandbox Code Playgroud)

lpo*_*uis 6

蟒蛇3

这应该适用于包含这些 un​​icode 字符的字体。我使用kalpurush来覆盖孟加拉语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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

奖励:Python2

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)