Matplotlib中⽂乱码的3种解决⽅案
前⾔
Matplotlib是⼀个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境⽣成出具有出版品质的图形。 Matplotlib可⽤于Python脚本,Python和IPython shell,Jupyter笔记
本,Web应⽤程序服务器和四个图形⽤户界⾯⼯具包。
然⽽最近在使⽤matplotlib默认情况会出现乱码问题,原则上matplotlib是⽀持中⽂的,只是在配置信息⾥没有中⽂字体的相关信息。
解决⽅法如下:
what is a youth
解决⽅案⼀:修改配置⽂件
matplotlib 从配置⽂件 matplotlibrc 中读取配置,字体相关内容也在其中。查询当前matplotlibrc 所在⽬录,可以⽤ get_configdir()函数:
reali和realize
import matplotlib
machi
<_configdir()
通常存放位置:lib\site-packages\matplotlib\mpl-data\matplotlibrc湖南大学自主招生简章
涉及到字体部分的设置内容为:
纸牌屋第二季字幕
#font.family : sans-rif
#font.style : normal
#font.variant : normal
#font.weight : normal
#font.stretch : normal
## note that font.size controls default text sizes. To configure
## special text sizes tick labels, axes, labels, title, etc, e the rc
## ttings for axes and ticks. Special text sizes can be defined
## relative to font.size, using the following values: xx-small, x-small,
## small, medium, large, x-large, xx-large, larger, or smaller
#font.size : 10.0
#font.rif : DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, rif #font.sans-rif : DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-rif
#font.cursive : Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive
#font.fantasy : Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy
#space : DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace
matplotlib 默认使⽤的 font.family 是 sans-rif,即⽆衬线字体,可以看到在font.sans-rif中设置的全部为西⽂字体,这⾥的设置和css样式⽂件中设置差不多,只需要添加系统存在的字体名
称即可(需要注意的是,matplotlib:
只⽀持ttf格式的字体),设置时需要将注释符号#去除。
解决⽅案⼆:重载配置⽂件sunday是什么意思
import matplotlib as mpl
解决⽅案三:⾃定义字体
import numpy as np
copyright是什么意思
import pylab as pl
import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname=r'D:\f') # 设置字体
t = np.arange(0.0,2.0 * np.pi,0.01) # ⾃变量取值范围
s = np.sin(t) # 计算正弦函数值
z = np.cos(t) # 计算余弦函数值
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='余弦')
pl.xlabel('x-变量',fontproperties=myfont,fontsize=24) #设置标签
pl.ylabel('y-正弦余弦函数值',fontproperties=myfont,fontsize=24)
pl.title('sin-cos函数图像',fontproperties=myfont,fontsize=32) #图像标题
pl.legend(prop=myfont)
pl.show()
建筑管理
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。