Python编程:解决matplotlib绘图中文乱码问题
2021/7/12 11:08:00
本文主要是介绍Python编程:解决matplotlib绘图中文乱码问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
测试环境:
- mac
- python3
先查看本机支持的字体
# 显示可以用的中文字体 from matplotlib.font_manager import FontManager import subprocess def show_can_use_font(): # all font list get from matplotlib.font_manager: mpl_fonts = set(f.name for f in FontManager().ttflist) # for python2 # output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True) # for python3 # Chinese font list get from fc-list output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True, encoding="utf8") zh_fonts = set(f.split(',', 1)[0] for f in output.split('\n')) # the fonts we can use: available = set(mpl_fonts) & set(zh_fonts) for f in available: print('\t', f) if __name__ == '__main__': show_can_use_font()
运行以上脚本,得到可以使用的字体
LiSong Pro .LastResort Arial Unicode MS LiHei Pro Wawati SC Wawati TC STFangsong STHeiti
将上面的字体设置到rcParams
就可以正常显示中文
import pandas as pd import matplotlib.pyplot as plt from matplotlib import rcParams # 设置字体 rcParams["font.family"]="STHeiti" rcParams["font.size"]= 8 path = "data/总人口.txt" data = pd.read_csv(path, sep=" ") data = pd.DataFrame(data) x = data.ix[4].keys()[1:] y = data.ix[4].values[1:] print(x) print(y) """ Index(['2016年', '2015年', '2014年', '2013年', '2012年', '2011年', '2010年', '2009年', '2008年', '2007年'], dtype='object') [58973 60346 61866 62961 64222 65656 67113 68938 70399 71496] """ plt.plot(x, y) plt.title("乡村人口(万人)") plt.xlabel("时间(年)") plt.ylabel("人口(万人)") plt.show()
附件:
data/总人口.txt
指标 2016年 2015年 2014年 2013年 2012年 2011年 2010年 2009年 2008年 2007年 年末总人口(万人) 138271 137462 136782 136072 135404 134735 134091 133450 132802 132129 男性人口(万人) 70815 70414 70079 69728 69395 69068 68748 68647 68357 68048 女性人口(万人) 67456 67048 66703 66344 66009 65667 65343 64803 64445 64081 城镇人口(万人) 79298 77116 74916 73111 71182 69079 66978 64512 62403 60633 乡村人口(万人) 58973 60346 61866 62961 64222 65656 67113 68938 70399 71496
参考
Linux/MacOS下matplotlib能正常显示的中文字体选择
这篇关于Python编程:解决matplotlib绘图中文乱码问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享