Matplotlib中文乱码问题是使用Matplotlib绘图时比较常见的问题。本文将介绍Matplotlib中文乱码问题的两种详细解决方案,以供参考。
方案一:修改Matplotlib配置文件
- 打开Matplotlib配置文件matplotlibrc,可以通过以下代码查看文件路径:
import matplotlib
print(matplotlib.matplotlib_fname())
- 在文件中找到以下内容:
#font.family : sans-serif
#font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
- 将注释去掉并修改为:
font.family : sans-serif
font.sans-serif : SimHei
- 最后,关闭并重新启动Python,问题就会得到解决。
方案二:手动指定字体
如果你没有权限修改Matplotlib配置文件或者只是想临时解决问题,你可以手动指定字体。这个方法相比方案一要简单一些。
以下是一个示例:
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14)
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("示例图", fontproperties=font)
plt.xlabel("横轴", fontproperties=font)
plt.ylabel("纵轴", fontproperties=font)
plt.show()
在这个示例中,我们通过导入FontProperties类,手动指定了使用仿宋字体“SimHei”,并在绘图中使用了这个字体。
另外,我们可以通过以下代码查看系统中已安装的字体:
from matplotlib.font_manager import fontManager
fonts = [font.name for font in fontManager.ttflist]
print(fonts)
以上就是Matplotlib中文乱码问题的两种解决方案。无论你选择哪种方法,都应该能够解决这个问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Matplotlib中文乱码的两种详细解决方案 - Python技术站