1 源起
自从开始学习Python,就非常喜欢用来画图。一直没有需求画要中文显示信息的图,所以没有配置Python中文的环境。由于昨天就需要画几十个形式相同,只是数据不同的图,并且需要显示中文信息。如果用Excel画图会很浪费时间,这迫使我必须要配置Python的中文环境。于是前天晚上开始捯饬Python的中文环境,直到凌晨4点才终于配好,可以在notebook里面显示中文。但是,到昨天早上画图时还是出现了一些问题。
2 Python画图中文配置问题多
Python matplotlib 默认不支持中文,我使用的Python 2 需要花时间去配置(Python 3 可能没有那么复杂),才可实现中文显示无乱码。
我遇到的坑如下:
a 常用的CSV文件,无法正常显示中文字符。解决方法用Excel保存数据可以正常显示中文,无乱码;
b 配置中文环境中,需要引入字体,由于每个人的电脑环境不同,解决方法各不相同。 最 后,使用最麻烦的方式,直接定位到我电脑里面存的字体才能实现(Eg:myfont = fm.FontProperties(fname='/Users/apple/Downloads/simHei.ttf'));
c 能显示中文的时候,legend的大小就不能调;能调大小,legend的中文就不显示; fontsize也无法修改大小,最后弃疗了。
3 彻底解决Python Matplotlib 画图时中文乱码问题
Pyplotz 中文支持组件
在这里给大家介绍一个新的库---Pyplotz:支持Python中文显示组件。在使用Seaborn或者Pyplot画图时,结合Pyplotz,无需繁琐的配置环境,使用简单的代码就可以画出正常显示中文的图啦。男票配置自己电脑中的Python中文环境也是花了很长时间才解决,我也没能绕过这个坑。为了彻底解决画图时中文显示乱码,Pyplotz就产生了。希望Pyplotz的出现,能让你的Python画图的中文显示更加简单。
Pyplotz一直在不断的完善中,如有不足之处,希望大家告诉我们哦,一起来完善~
1) 组件特性
a 跨平台轻量级 Matplotlib 中文支持组件。支持 Linux, MacOS 和 Windows;
b 兼容Python2 和Python3;
c 无需配置,让中文显示原生兼容;
d 兼容 Matplotlib 以及其依赖库(如: Seaborn);
e 支持 Matplotlib 混合编程, 完全相同的API设计;
2) 获取方式
使用命令行在终端安装: pip install pyplotz
点击此处 可以访问GitHub查看更多关于Pyplotz 的信息,赶快去探索一下如何用来画图吧。
3) 实例
a 调用pyplotz
b 与Matplotlib 兼容,画图时显示中文
c 与Seaborn 兼容
2018年1月6日第二次编辑