基于plt.title无法显示中文的快速解决
由于画图时plt.title()默认是显示英文,如果我们设置标题为中文,会无法显示,如图: 在最前边设置这两条属性即可: plt.rcParams[‘font.sans-serif’]=[‘SimHei’] plt.rcParams[‘axes.unicode_minus’] = False 补充知识:MacOS 解决python plt 中文显示乱码问题 (在网上找了好多教程,尝试了一下,过程都过于繁琐….. 最后终于解决了,记录一下,希望此方法也可以帮助到你。) 首先,这个教程不需要下载字体,最终显示结果如下,如果你可以接受这款字体的话,请继续阅读该教程。 第一步 进入pyth 在Python的可视化库matplotlib中,有时我们可能会遇到在使用`plt.title()`函数设置中文标题时,中文无法正常显示的问题。这是因为matplotlib默认不支持中文字符,需要进行一些配置才能使其能够正确渲染中文。以下是一个快速解决这个问题的方法: 我们需要设置matplotlib的字体设置,以便它能识别并使用支持中文的字体。在创建图表之前,添加以下两行代码: ```python import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置用于显示中文的字体,这里选择了SimHei plt.rcParams['axes.unicode_minus'] = False # 解决负号显示为方框的问题 ``` `font.sans-serif`列表中包含了你希望matplotlib使用的字体。在这里,我们选择的是"SimHei",一种常用的中文字体。`axes.unicode_minus`设置为`False`是为了确保负号能正常显示,而不是显示为一个方框。 在某些情况下,特别是在MacOS系统中,上述简单的方法可能无法解决问题。这时,你需要对matplotlib的配置文件`matplotlibrc`进行编辑。具体步骤如下: 1. 进入Python环境,导入matplotlib库,并通过`matplotlib.matplotlib_fname()`找到`matplotlibrc`文件的位置。 2. 打开`matplotlibrc`文件,找到`font.family`设置,取消其注释,并设置为支持中文的字体,例如`Arial Unicode MS`。 3. 在`font.sans-serif`列表中添加`Arial Unicode MS`,确保它在其他字体之前。 4. 找到`axes.unicode_minus`选项,将其值从`True`改为`False`。 5. 删除`.matplotlib`目录下的缓存文件,通常可以通过终端执行`rm -rf ~/.matplotlib/*`来完成。 6. 重启Python解释器,现在应该可以正常显示中文和负号了。 测试代码如下: ```python import matplotlib.pyplot as plt x = ['张三', '李四', '-1'] y = [1, 2, 3] plt.plot(x, y) plt.title('示例标题') # 这里设置的中文标题应该可以正常显示 plt.show() ``` 通过上述步骤,你应该能够在matplotlib中成功地显示中文标题和内容。如果你对其他matplotlib功能或者Python绘图有更多需求,例如自定义颜色、图例、轴标签等,matplotlib提供了丰富的选项供你选择。记住,配置matplotlib以适应不同语言的需求是数据可视化中常见的挑战,但一旦解决,就可以更自由地展示你的数据了。