欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python matplotlib 显示中文问题

程序员文章站 2022-03-01 15:10:50
...

查了很多方法,最终算是有一个可以解决的了。。。
我的环境ubuntu16.04,python3.5
1、首先下从网上下载宋体字体(直接google“宋体下载”)或者从window系统中拷贝simsun.ttc文件;
2、把上面的文件放在“/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/simsun.ttc” (不同系统可能matplotlib路径不同)
然后直接贴代码如下:

 matplotlib import pyplot as plt
import numpy as np

from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r"py3.5/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/simsun.ttc", size=14)


words = [ '苹果',  '香蕉',  '番茄酱',  '番茄汁','橘子']
vectors = np.array([[0.1,   0.3], 
                    [-0.5, -0.1], 
                    [0.2,   0.2],
                    [0.15, 0.2],
                    [-0.3, -0.2],
                    [-0.25,-0.15]])

plt.plot(vectors[:,0], vectors[:,1], 'o')
plt.xlim(-0.6, 0.3)
plt.ylim(-0.3, 0.5)
for word, x, y in zip(words, vectors[:,0], vectors[:,1]):
    plt.annotate(word, (x, y), size=16, fontproperties=font) #此处将设置好的字体属性设为参数
    print(word)
plt.show()

Reference:
matplotlib绘图中文显示问题