Matplotlib图表上输出中文(汉字)减号问题
Posted 善良超锅锅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib图表上输出中文(汉字)减号问题相关的知识,希望对你有一定的参考价值。
我安装的是Anaconda3-2.2.0-Windows-x86_64。今天想在图上输出一下中文,结果输出的都是框框。难道中文(汉字)不能正确显示吗?
解决过程如下:
找到配置文件matplotlibrc。可以用everything搜索这个文件。例如我的在C:\\Anaconda3\\Lib\\site-packages\\matplotlib\\mpl-data路径下。
用文本编辑器打开matplotlibrc文件。
找到font.family一行,将前面的注释号去掉。
找到font.sans-serif一行,将前面的注释号去掉。
在font.sanc-serif后面的值中添加一个中文字体名。我添加的是Microsoft YaHei(微软雅黑),添加后如下:
font.sans-serif : Microsoft YaHei,, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
(ps:有些中文字体并不能成功。每次修改配置文件后,都要重启python代码的运行consle才能生效)
保存修改,然后就可以显示中文了。附成功显示中文图
可以看到可以可以正确显示中文了,但是坐标上的减号都变成了框框。
解决如下:
在上面提到的配置文件中找到axes.unicode_minus一行,去掉前面的注释符号,将后面的True改成False。OK!
附最后测试图
以上是关于Matplotlib图表上输出中文(汉字)减号问题的主要内容,如果未能解决你的问题,请参考以下文章
unicode 减号的转换(来自 matplotlib ticklabels)