import matplotlib.pyplot as plt
import seaborn as sns
# 创建图形和子图
fig, axes = plt.subplots(1, 2, figsize=(16, 6))
# 第一个子图 - ISOP排放
ax1 = axes[0]
bvoc_2022 = 199003.21160612212
bvoc_past_3_years = 182965.19822674562
# 柱状图设置
labels = ['2022', '2019-2021']
values = [bvoc_2022 / 1000, bvoc_past_3_years / 1000]
# 绘制柱状图
sns.barplot(x=labels, y=values, palette=[ '#00B386','#B0EFD9'], saturation=0.8, width=0.4, ax=ax1)
ax1.set_ylim(150, 220)
ax1.set_xlim(-0.5, 1.5) # 设置x轴范围,使得两个柱子之间有一定间距
ax1.set_ylabel('ISOP emission (*10^8 kg)', fontsize=24)
ax1.tick_params(labelsize=24)
ax1.text(0.05, 0.95, '(a)', transform=ax1.transAxes, fontsize=23, va='top', ha='left')
# 第二个子图 - Net O3 production rate
ax2 = axes[1]
# 数据准备
time = np.arange(0, 24)
isop = np.array(df.isoprene)
hcho = np.array(df.HCHO)
total = isop + hcho
# 绘制柱状图
ax2.bar(time, isop, label='B_ISOP', alpha=0.7, color='#00B386')
ax2.bar(time, hcho, bottom=isop, label='B_HCHO', alpha=0.7, color='#B0EFD9')
ax2.bar(time, base-isop-hcho, bottom=isop+hcho, label='AVOC', alpha=0.7, color='orangered')#color=color_palette[2])
ax2.plot(time, total, color='green', label='Total BVOC')
ax2.set_xlabel('Hour', fontsize=22)
ax2.set_ylabel('Net O$_3$ production rate\n(ppbv h$^{-1}$)', fontsize=22, multialignment='center')
ax2.tick_params(axis='both', which='major', labelsize=22)
ax2.legend(fontsize=16)
ax2.text(0.05, 0.95, '(b)', transform=ax2.transAxes, fontsize=23, va='top', ha='left')
# 调整子图之间的间距
plt.subplots_adjust(wspace=0.4)
plt.savefig('./box_bvoc.png',dpi=450,bbox_inches='tight')
# 显示图形
plt.show()
bar plot
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原创:黄小仙 不知不觉,距离小仙上次发文已经过去五个多月了。R语言作图系列的更新频率跟理想中的一月一次差别有点忒大...
- 跟着Nat Commun学作图 | Post-hoc图(Extended error bar plot) Ling...
- 我们有时候会面临画带有误差的图,大致长成下面这个样子 代码为 稍加解读,seaborn我们只是用了一下配色,不用是...
- 本篇以代码的形式,展示了matpoltlib的几种常用图表,包括:折线图,柱状图,饼状图,散点图,三维散点图,实时...