shuyun83428 2021-08-05 11:20
浏览 2395
已结题

matplotlib柱状图如何调整柱子间距

问题描述:直接上图
img
代码如下:


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之间的间隔调大,请教大家。调整后的图比如下图:
img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月13日
    • 创建了问题 8月5日

    悬赏问题

    • ¥15 nginx中的CORS策略应该如何配置
    • ¥30 信号与系统实验:采样定理分析
    • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
    • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
    • ¥15 php 同步电商平台多个店铺增量订单和订单状态
    • ¥15 关于logstash转发日志时发生的部分内容丢失问题
    • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题