python matplotlib 字体问题的笔记
import pandas as pd
import matplotlib.pyplot as plt # 通常还是需要导入 pyplot 进行一些控制
import matplotlib.font_manager as fm
# 创建一个示例 DataFrame
data = {
'年份': [2015, 2016, 2017, 2018, 2019, 2020],
'销售额_A': [100, 120, 90, 150, 180, 200],
'销售额_B': [80, 110, 100, 130, 160, 190],
'利润率': [0.15, 0.18, 0.12, 0.20, 0.22, 0.25]
}
df = pd.DataFrame(data).set_index('年份') # 设置年份为索引通常有利于绘图
# 设置中文字体
font_path = '/Library/Fonts/Arial Unicode.ttf' # 根据你的系统调整字体路径,这是我的mac的路径,其他字体暂不知道是什么路径,但这个路径目前能是正常使用
my_font = fm.FontProperties(fname=font_path)
# 最基本的绘图:对 DataFrame 调用 .plot()
df.plot() # 默认绘制线图 (kind='line')
plt.title('销售额与利润率趋势', fontproperties=my_font) # 添加标题
plt.ylabel('数值', fontproperties=my_font) # 添加Y轴标签
plt.xlabel('年份', fontproperties=my_font) # 添加X轴标签
plt.legend(prop=my_font) # 设置图例字体
plt.show() # 显示图形以上方法一:注意 # 设置中文字体的方法
from matplotlib import pyplot as plt
#新增加的两行
import matplotlib
matplotlib.rc("font",family='Hei')
a = ["一月份","二月份","三月份","四月份","五月份","六月份"]
b=[56.01,26.94,17.53,16.49,15.45,12.96]
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(a)),b)
#绘制x轴
plt.xticks(range(len(a)),a)
plt.xlabel("月份")
plt.ylabel("数量")
plt.title("每月数量")
plt.show()以上方法二:用matplotlib.rc函数调用字体,具体参考:https://zhuanlan.zhihu.com/p/104081310
