Python实现matplotlib显示中文的方法详解
本篇章节讲解Python实现matplotlib显示中文的方法。分享给大家供大家参考,具体如下: 【注意】 可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:) import matplotlib.pyplot as plt import pylab as plt 【效果图】 【方式一】FontProperties import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 步骤一 # ... font = FontProperties(fname=r"c:windowsfontssimsun.ttc",size=14) # 步骤二 plt.xlabel("x轴",fontproperties=font) # 步骤三 plt.ylabel("y轴",fontproperties=font) plt.title("标题",fontproperties=font) plt.show() 总的来说,很丑陋。 【方式二】 fontproperties import matplotlib.pyplot as plt # ... plt.xlabel("x轴") plt.ylabel("y轴",fontproperties="SimSun") # 步骤一 (宋体) plt.title("标题",fontproperties="SimHei") # (黑体) plt.show() 灵活,另一个优点:不污染全局字体设置 【方式三】rcParams import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体) plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题) #... plt.xlabel("x轴") plt.ylabel("y轴") plt.title("标题") plt.show() 简洁的用法。缺点:污染全局字体设置。(所以需要第二步骤) 【方式四】rc import matplotlib.pyplot as plt font = {'family' : 'SimHei','weight' : 'bold','size' : '16'} plt.rc('font',**font) # 步骤一(设置字体的更多属性) plt.rc('axes',unicode_minus=False) # 步骤二(解决坐标轴负数的负号显示问题) #... plt.xlabel("x轴") plt.ylabel("y轴") plt.title("标题") plt.show() 灵活的用法。缺点:影响全局字体(所以需要第二步骤) 【总结】 方式二用时才设置,且不会污染全局字体设置,更灵活 【测试代码】 import numpy as np import matplotlib.pyplot as plt font = {'family' : 'DFKai-SB',**font) # pass in the font dict as kwargs plt.rc('axes',unicode_minus=False) x = np.linspace(0,10,1000) y = np.sin(x) z = np.cos(x**2) plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$") plt.xlabel("x轴") plt.ylabel("y轴") plt.title("标题") plt.ylim(-1.2,1.2) plt.legend() plt.show() 运行结果: 【附录】 一些中文字体的英文名
更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |