matplotlib支持中文
测试代码如下,首先自动抓一个fname字体路径,然后将路径固定写入变量fname
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 1. 自动抓系统里第一个带中文的字体(Win、mac、Linux 都能用)
# fname=sorted(f for f in fm.findSystemFonts()
# if any(k in f.lower() for k in ('simhei', 'microsoft yahei', 'pingfang', 'wenquanyi')))[0]
# print(fname)
fname="/System/Library/AssetsV2/com_apple_MobileAsset_Font7/3419f2a427639ad8c8e139149a287865a90fa17e.asset/AssetData/PingFang.ttc"
zh_font = fm.FontProperties(fname=fname)
# # 2. 正常画图,单独指定字体
# x = [1, 2, 3, 4, 5]
# y = [2, 4, 6, 4, 5]
# plt.plot(x, y, marker='o')
# plt.title("折线图", fontproperties=zh_font)
# plt.xlabel("X轴", fontproperties=zh_font)
# plt.ylabel("Y轴", fontproperties=zh_font)
# plt.grid()
# plt.show()
# 2. 正常画图,全局指定字体
print(zh_font.get_name())
plt.rcParams['font.family'] = zh_font.get_name()
plt.rcParams['axes.unicode_minus'] = False
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 4, 5]
plt.plot(x, y, marker='o')
plt.title("折线图")
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.grid()
plt.show() 