matplotlib.pyplot 中文乱码、不显示的跨平台最简单解决方案

文章介绍了如何在使用matplotlib.pyplot绘制图表时,处理中文标题和说明出现乱码的问题。通过查找系统中存在的中文字体,如微软雅黑、黑体、仿宋、宋体,设置图表的字体参数,确保在Windows、macOS、Linux平台上都能正确显示中文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用 matplotlib.pyplot 的时候在给图表加中文标题、说明的时候总会遇到中文显示乱码的情况,下面将彻底解决此类问题,并且是可以跨平台的,Windows、macOS、Linux 常用的中文字体名都放到里面了,找到哪个算哪个 :)

import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
import platform

# -------- 开始
# 检查是否包含雅黑、黑体、仿宋、宋体
font_path = font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
font_path = [f for f in font_path if any(font_name in f.lower() for font_name in ['msyh', 'simhei', 'heiti', 'simsun'])]

if font_path:
    plt.rcParams['font.sans-serif'] = font_manager.FontProperties(fname=font_path[0]).get_name()

# -------- 结束

# 示例数据
categories = ['类别1', '类别2', '类别3', '类别4']  # 使用中文标签
values = [10, 20, 15, 30]

# 创建柱形图
plt.bar(categories, values)

# 设置标题和标签
plt.title('简单柱形图')
plt.xlabel('类别')
plt.ylabel('数值')

# 调整 y 轴刻度范围
plt.ylim(0, 35)

# 展示图形
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值