【问题标题】:How to create a horizontal bar graph graphing number ranges?如何创建水平条形图绘制数字范围?
【发布时间】:2019-03-05 19:21:33
【问题描述】:

有谁知道如何创建一个水平条形图来绘制数字范围?我的意思是,图形值不是从 x 轴 0 上的 0 开始,而是在另一个奇异数处停止,而是这些值具有代表范围的开始值和结束值。

据我所知,barh 只能绘制奇异值而不是范围值。

我一直在尝试使用matplotlib's barh 来实现这一点,但我似乎无法弄清楚如何让它绘制范围。

这是我的意思的一个例子:

谁能告诉我如何使用 matplotlib 或其他替代 Python 模块来绘制这个?

【问题讨论】:

  • 链接的文档清楚地显示有一个参数:“left: 标量序列 - 条形左侧的x坐标(默认值:0)。” ,这应该可以满足您的要求。但是,目前,您的问题被否决(并且可能被关闭),因为您自己没有表现出任何努力。
  • 嘿 SiHa,我曾尝试对此进行研究,但与我试图实现的目标最接近的示例是:stackoverflow.com/questions/11042290/… 但它具有特定于 date_time 的代码,我不确定如何制作这适用于任意非日期时间值。

标签: python range graphing


【解决方案1】:

首先,您必须绘制要查看的条形图,然后在其他条形图上方绘制一个白色条形。但这更像是一个黑客而不是一个好的解决方案。

import matplotlib.pyplot as plt
import numpy as np


target_bars_start = [10, 10, 15, 8]
target_bars_end = [15, 23, 16, 10]
N = len(target_bars_end)
ind = np.arange(N)

plt.barh(ind, target_bars_end, 0.35)
plt.barh(ind, target_bars_start, 0.35, color='white')

【讨论】:

    猜你喜欢
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多