前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matplotlib绘图中文乱码,完整解决方法总结!

Matplotlib绘图中文乱码,完整解决方法总结!

作者头像
double
发布2024-04-11 15:19:09
2250
发布2024-04-11 15:19:09
举报
文章被收录于专栏:算法channel算法channel

这篇文章总结,matplotlib绘图,图中文字体出现乱码问题。

在使用Matplotlib进行绘图时,中文字体可能会显示为乱码,因为Matplotlib默认的字体不支持中文。为了在图表中正确显示中文,你需要进行一些额外的配置。以下是一个解决方案,它包括设置Matplotlib以使用支持中文的字体:

步骤 1: 安装中文字体

首先,确保你的系统中安装了至少一种支持中文的字体。常见的中文字体包括“宋体”、“微软雅黑”等。

步骤 2: 配置Matplotlib以使用中文字体

方式一:临时设置(仅影响当前脚本)

你可以在脚本中临时设置Matplotlib的字体,以支持中文显示。

代码语言:javascript
复制

import matplotlib.pyplot as plt
import matplotlib

# 指定默认字体
matplotlib.rcParams['font.family'] = 'SimHei'  # 或其他支持中文的字体
matplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号'-'显示为方块的问题

plt.plot([1, 2, 3], [4, 5, 6])
plt.title('中文标题')
plt.show()
方式二:修改Matplotlib配置文件(全局设置)

你也可以修改Matplotlib的配置文件matplotlibrc来永久改变默认字体设置。

  1. 运行以下代码找到配置文件的位置:
代码语言:javascript
复制
 
   import matplotlib
   print(matplotlib.matplotlib_fname())
  1. 打开该配置文件,在文件中找到以下行:
代码语言:javascript
复制

 #font.family: sans-serif
 #font.sans-serif: SimHei
  1. 去掉这两行前面的注释符号#,并确保font.sans-serif后面指定的是你系统中存在的、支持中文的字体。
  2. 保存文件,并在新的Python脚本中测试是否能够正确显示中文。

步骤 3: 安装和使用第三方字体

如果你的系统中没有安装需要的字体,或者你想使用特定的第三方字体,你可以按照以下步骤操作:

  1. 下载或获得.ttf格式的字体文件。
  2. 使用matplotlib.font_manager模块加载字体文件:
代码语言:javascript
复制
 from matplotlib.font_manager import FontProperties
 import matplotlib.pyplot as plt
 
 font = FontProperties(fname='路径到你的.ttf字体文件', size=14)
 
 plt.plot([1, 2, 3], [4, 5, 6])
 plt.title('中文标题', fontproperties=font)
 plt.show()

通过以上步骤,你应该能够在Matplotlib绘图中正确显示中文了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 步骤 1: 安装中文字体
  • 步骤 2: 配置Matplotlib以使用中文字体
    • 方式一:临时设置(仅影响当前脚本)
      • 方式二:修改Matplotlib配置文件(全局设置)
      • 步骤 3: 安装和使用第三方字体
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档