解决Python matplotlib.pyplot 中文乱码问题

解决Python matplotlib.pyplot 中文乱码问题

1.

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

2.

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签SimHei
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# 黑体(宋体?) SimHei
# 微软雅黑 Microsoft YaHei
# 微软正黑体 Microsoft JHengHei
# 新宋体 NSimSun
# 新细明体 PMingLiU
# 细明体 MingLiU
# 标楷体 DFKai-SB
# 仿宋 FangSong
# 楷体 KaiTi
# 仿宋-GB2312 FangSong_GB2312
# 楷体-GB2312 KaiTi_GB2312

# font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# ‘font.family’ 用于显示字体的名字
# ‘font.style’ 字体风格,正常’normal’ 或斜体’italic’
# ‘font.size’ 字体大小,整数字号或者’large’ ‘x-small’

3.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\WINDOWS\Fonts\STKAITI.TTF", size=14)

x = np.arange(0, 10, 0.1)
y = x * 2
plt.subplot(2, 2, 1, frameon=False) # 两行一列,位置是1的子图
plt.title("一元一次函数", fontproperties=font)
plt.plot(x, y)
plt.show()
plt.title("一元一次函数", fontproperties=font) #然后设置需要显示的内容中,fontproperties=font
# 系统字体Win7  C:\WINDOWS\Fonts
# 系统字体Win10 C:\Windows\Fonts
# 选中字体右键属性,可以知道字体的名称
  • 28
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Matplotlib解决中文乱码问题有两种方式。第一种方式是使用Matplotlib自带的字体管理器来设置中文字体。你可以使用`matplotlib.font_manager`模块来查找系统中可用的中文字体,并将其设置为Matplotlib的默认字体。具体的用法可以参考Matplotlib官方文档中的。 另一种方式是手动更改Matplotlib的配置文件`matplotlibrc`。你可以使用`matplotlib.matplotlib_fname()`函数来查找该文件的位置,并用文本编辑器打开它。在配置文件中找到字体相关的设置,并将其修改为支持中文的字体。具体的步骤可以参考和中提供的相关示例和文档。 总之,你可以根据个人的需求选择其中一种方式来解决Matplotlib中的中文乱码问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python中使用matplotlib时显示中文乱码_(或更改字体)](https://blog.csdn.net/xiaochenXIHUA/article/details/130116221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [【PythonMatplotlib处理中文乱码问题](https://blog.csdn.net/weixin_45718987/article/details/124584529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值