如何使用 matplotlib 绘制条形范围图?

Posted

技术标签:

【中文标题】如何使用 matplotlib 绘制条形范围图?【英文标题】:How to draw a bar range plot with matplotlib? 【发布时间】:2019-09-12 13:36:34 【问题描述】:

我正在尝试使用 matplotlib 创建一个带有时间 x 轴的条形范围图。作为示例,请参见以下内容:

据我所知,Matplotlib 并不直接支持这种情节。 实现这一目标的最佳方法是什么?

也许可以调整boxplotfill_between 绘图?

【问题讨论】:

使用fill_between 绘图应该是可能的,但需要一些手动操作并为条形宽度找到一个合理的(默认)值。以后可能会研究,但现在没有时间 这在 matplotlib 中称为 bar 图。 【参考方案1】:

只需将bottom 参数传递给bar,例如:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(10)
y_bot = np.linspace(30, 50, 10)
y_dif = np.linspace(10, 5, 10)

plt.bar(x, y_dif, bottom=y_bot)

【讨论】:

@SamMason 没问题 :) 我在自己尝试您的答案时注意到导入不匹配

以上是关于如何使用 matplotlib 绘制条形范围图?的主要内容,如果未能解决你的问题,请参考以下文章

Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图垂直条形图分组条形图堆叠条形图

Python中matplotlib默认绘制的条形图比较胖?如何设置成体型匀称的条形图,达到最佳的可视化效果。

使用字典使用 matplotlib 绘制条形图

python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战

使用 ax.bar() 使用 matplotlib 绘制多个条形图

Matplotlib 条形图不接受数组作为高度参数