import matplotlib.pyplot as plt
import pandas as pd
from mplfonts import use_font
plt.style.use('fivethirtyeight')
data = pd.read_excel(r'C:\Users\Desktop\VOCs_OFP.xlsx')
data_draw = data.drop(columns=['TVOCs'],axis=1)
use_font('Noto Serif CJK SC')
fig,ax = plt.subplots(figsize = (9,4))
data_draw.plot(kind='bar',stacked=True,linewidth = 0.3,ax=ax,width=0.5,edgecolor='k',
####自定义颜色
color=['#7fc97f','#beaed4','#fdc086','#ffff99','#f0027f','#6fa7d5'])
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.ylim(0,400)
ax.tick_params(axis='x', labelrotation=0)
ax.set_xlabel("月份",fontsize = 16)
ax.set_ylabel("OFP (μg/$\mathregular{m^3}$)",fontsize = 16)
ax.legend(fontsize=16,loc='upper right' ,ncol=8,frameon=False,columnspacing=0.5,bbox_to_anchor=(0.95,1.2))
解决图形中:中文字体显示「豆腐块」问题
安装mplfonts
pip install mplfonts -i https://pypi.tuna.tsinghua.edu.cn/simple
在代码块中添加
from mplfonts.bin.cli import init
init()
或
from mplfonts import use_font
use_font('Noto Serif CJK SC')#指定中文字体
plt.style.use('fivethirtyeight')