本文实例讲述了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:\windows\fonts\simsun.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', 'weight' : 'bold', 'size' : '16'} plt.rc('font', **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()
运行结果:
【附录】
一些中文字体的英文名
宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 MingLiU 标楷体 DFKai-SB 仿宋 FangSong 楷体 KaiTi 隶书 LiSu 幼圆 YouYuan 华文细黑 STXihei 华文楷体 STKaiti 华文宋体 STSong 华文中宋 STZhongsong 华文仿宋 STFangsong 方正舒体 FZShuTi 方正姚体 FZYaoti 华文彩云 STCaiyun 华文琥珀 STHupo 华文隶书 STLiti 华文行楷 STXingkai 华文新魏 STXinwei
更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】
- 陈思安.1990-国语钢琴酒吧5CD【欣代唱片】【WAV+CUE】
- 莫文蔚《莫后年代20周年世纪典藏》3CD[WAV+CUE][2G]
- 张惠妹《我要快乐》华纳[WAV+CUE][1G]