这篇文章总结,matplotlib绘图,图中文字体出现乱码问题。
在使用Matplotlib进行绘图时,中文字体可能会显示为乱码,因为Matplotlib默认的字体不支持中文。为了在图表中正确显示中文,你需要进行一些额外的配置。以下是一个解决方案,它包括设置Matplotlib以使用支持中文的字体:
首先,确保你的系统中安装了至少一种支持中文的字体。常见的中文字体包括“宋体”、“微软雅黑”等。
你可以在脚本中临时设置Matplotlib的字体,以支持中文显示。
import matplotlib.pyplot as plt
import matplotlib
# 指定默认字体
matplotlib.rcParams['font.family'] = 'SimHei' # 或其他支持中文的字体
matplotlib.rcParams['axes.unicode_minus'] = False # 解决负号'-'显示为方块的问题
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('中文标题')
plt.show()
你也可以修改Matplotlib的配置文件matplotlibrc
来永久改变默认字体设置。
import matplotlib
print(matplotlib.matplotlib_fname())
#font.family: sans-serif
#font.sans-serif: SimHei
#
,并确保font.sans-serif
后面指定的是你系统中存在的、支持中文的字体。如果你的系统中没有安装需要的字体,或者你想使用特定的第三方字体,你可以按照以下步骤操作:
matplotlib.font_manager
模块加载字体文件: from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
font = FontProperties(fname='路径到你的.ttf字体文件', size=14)
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('中文标题', fontproperties=font)
plt.show()
通过以上步骤,你应该能够在Matplotlib绘图中正确显示中文了。