matplotlib设置显示中文方法

matplotlib显示中文(惠存)

在jupyter中设置

可能与本文主题无关,不过我还是想指出来:使用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()

灵活的用法。缺点:影响全局字体(所以需要第二步骤)

【总结】

方式二用时才设置,且不会污染全局字体设置,更灵活

方式三、方式四不需要对字体路径硬编码,而且一次设置,多次使用,更方便。

【附录】

一些中文字体的英文名

宋体 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

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值