学习记录004-两种方法快速解决matplotlib中文不能显示问题

主要有两种方法,推荐方法2,如时间紧迫可以直接跳到方法2
方法1:全局法-使用rcParamas修改字体实现

使用语句:

#---------------------(1)修改字体名字------------------------------
matplotlib.rcParams['font.family']='STsong'
#---------------------(2)修改字体大小------------------------------- 
matplotlib.rcParams['font.size']=20

下面是完整代码:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
#----------------------(1)就是这两行-------------------------
matplotlib.rcParams['font.family']='STsong'
matplotlib.rcParams['font.size']=20

a = np.arange(0,5,0.02)

plt.xlabel('横轴:时间')
plt.ylabel('纵轴:振幅')
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()

结果:
在这里插入图片描述
上面的方法是全局作用,一旦修改,全张图的字体都统一了,所以推荐下面方法2

方法2:在有中文输出的地方,增加一个属性:fontproperties

使用语句:

#---------------------(1)添加的语句1,固定形式,照抄-------------------
from matplotlib.font_manager import FontProperties
#---------------------(2)添加的语句2,可以根据自己的需要修改STXINGKA.TTF,和size=多少-----------------
font = FontProperties(fname=r"c:\windows\fonts\STXINGKA.TTF", size=15)

如何更改字体,比如想要黑体,主要是修改c:\windows\fonts\后面的STXINGKA.TTF
(1)复制并打开路径:c:\windows\fonts
在这里插入图片描述

(2)找到黑体,上图红框所示,此时并不是把STXINGKA.TTF修改成黑体.TTF,而是对黑体处右键,点击属性,复制红框处simhei.ttf替换STXINGKA.TTF,即c:\windows\fonts\simhei.ttf,完成。在这里插入图片描述

完整代码:

import matplotlib.pyplot as plt
#---------------------(1)添加的语句1,固定形状------------------------
from matplotlib.font_manager import FontProperties
#---------------------(2)添加的语句2,可以根据自己的需要修改STXINGKA.TTF,和size=多少。STXINGKA.TTF的名字替换方法按上面提示去复制----
font = FontProperties(fname=r"c:\windows\fonts\STXINGKA.TTF", size=15)

#----------------------(3)如果是黑体:--------------------------------
#font = FontProperties(fname=r"c:\windows\fonts\simhei.ttf", size=15)

plt.title("散点图练习", fontproperties=font)
plt.scatter([1, 2, 3, 4, 5, 6], [2, 3, 4, 6, 9, 12])
plt.xlabel('横坐标', fontproperties=font)
plt.ylabel('纵坐标', fontproperties=font)
plt.show()

结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值