问题描述:直接上图
代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 准备数据
labels = (['1', '2', '3', '4', '5', '6'])
a = np.array([0, 0, 0, 0, 0, 0]) # 使用np.array是方便后面的left相加
b = np.array([0, 0, 0.03, 0.05, 0.07, 0.2])
c = np.array([0.33, 0.63, 0.92, 1.04, 1.62, 9.1])
d = np.array([1.75, 3.06, 4.86, 6.02, 12.23, 43.72])
e = np.array([15.18, 25.74, 36.12, 42.34, 51.79, 40.82])
f = np.array([58.01, 59.86, 50.85, 43.9, 32.56, 5.65])
g = np.array([24.73, 10.71, 7.22, 6.65, 1.73, 0.51])
fig, ax = plt.subplots(figsize=(8,8))# 绘制画布
ax.barh(labels, a, align='center', color='lightcyan', label='5')
ax.barh(labels, b, align='center', color='turquoise', left=a,
label='10')
ax.barh(labels, c, align='center', color='deepskyblue', left=a+b,
label='15')
ax.barh(labels, d, align='center', color='lightblue', left=a+b+c,
label='20')
ax.barh(labels, e, align='center', color='lightcoral', left=a+b+c+d,
label='25')
ax.barh(labels, f, align='center', color='indianred', left=a+b+c+d+e,
label='30')
ax.barh(labels, g, align='center', color='brown', left=a+b+c+d+e+f,
label='35')
ax.set_xlabel('people exposed to ambient PM2.5, %') # 设置x轴标签
plt.savefig('13.PDF', dpi=300)
plt.show()
我想把 1 与 2 之间的间隔调大,5 与 6之间的间隔调大,请教大家。调整后的图比如下图: