介绍
这篇文章主要为大家展示了“Python Matplot中文显示的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python Matplot中文显示的示例分析”这篇文章吧。
<强>原因与现象强>
Matplot是一个功能强大的Python图表绘制库,很遗憾目前版本自带的字体库中并不支持中文字体,所以如果在绘制内容中需要显示中文,那么就会显示为方格字符。
<强>解决办法强>
有一个较为完美的解决方案,通过扫描Matplot自带字体库以及系统字体库,寻找能够支持的中文字体,如果能够找到的话,就设置第一个为Matplot的字体熟悉。
import matplotlib.pyplot as plt 得到matplotlib.font_manager import  FontManager 得到pylab import  mpl import 子流程 def get_matplot_zh_font ():=,,fm  FontManager ()=,mat_fonts 集(f.name for f  fm.ttflist拷贝)=,,output  subprocess.check_output (& # 39; fc-list : lang=zh -f “%{家庭}\ n" & # 39;,, shell=True)=,zh_fonts 集(f.split (& # 39; & # 39;,, 1) [0], for f 拷贝output.split (& # 39; \ n # 39;))=,available 列表(mat_fonts ,, zh_fonts) ,print & # 39; * & # 39;, *, 10日,& # 39;可用的字体& # 39;,,& # 39;* & # 39;*,10 ,for f 拷贝: print f return 可用 def set_matplot_zh_font ():=,,available  get_matplot_zh_font () ,if len(可用),祝辞,0: ,mpl.rcParams [& # 39; font.sans-serif& # 39;],=,(可用[0]),#,指定默认字体 ,mpl.rcParams [& # 39; axes.unicode_minus& # 39;],=, False #,解决保存图像是负号& # 39;& # 39;显示为方块的问题
在绘图之前,调用set_matplot_zh_font()设置一下就可以了。
<>强效果强>
如下图所示:
以上是“Python Matplot中文显示的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!