如何使matplotlib正确显示中文

2024-06-02 08:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使matplotlib正确显示中文。 多谢各位

import numpy as np 
from matplotlib import pyplot as plt 
import matplotlib

from pylab import mpl

import pymysql

matplotlib.rcParams ['font.family'] = ['HGFS1_CNKI'] # Still show white square 



plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False



districts = ['鼓楼', '建邺', '栖霞', '雨花台', '秦淮', '玄武', '江宁', '浦口', '六合', '溧水', '高淳']
nums = [3172, 1733, 1973, 1372, 2434, 2246, 3338, 1435, 849, 942, 94]

plt.bar(range(len(nums)), nums, tick_label=districts)
plt.show()

sudo cp HGFS1_CNKI.TTF/usr/local/lib/python3.6/dist-packages/matplotlib/mpl-data/fonts/TTF/

enter image description here


Tags: fromimportnumpymatplotlibasshowpltttf
1条回答
网友
1楼 · 发布于 2024-06-02 08:43:25

解决matplotlib不显示中文的方法被我找到了。
首先要引用
from matplotlib import font_manager
将支持中文的ttc字体放在本地或指定目录下
my_font = font_manager.FontProperties(fname="./NotoSerifCJK-Bold.ttc")
如果横坐标有中文
plt.xticks(range(len(districts)),districts,fontproperties=my_font)
重点就是fontproperties=my_font这句话

相关问题 更多 >