【问题标题】:bar graph shows only one bar条形图仅显示一个条形
【发布时间】:2021-07-24 23:59:19
【问题描述】:

为什么这个条形图只显示一个而不是全部显示?我一直在更改第三个参数,但是当我增加太多时,它只会显示一个粗条而不是许多小条。

plt.bar(list(range(300)),list(range(300)) ,5)

【问题讨论】:

  • 当你说一个条时,它的形状像一个矩形吗?还是它的形状更像三角形/梯形?
  • 长方形
  • 那真的很奇怪,当我尝试plt.bar(list(range(300)),list(range(300)) ,5) 时,我得到了一个三角形或梯形,这就是你对 300 个粗条相互绘制所期望的结果。

标签: python plot bar-chart


【解决方案1】:

只是你的宽度太大,因此你看到它凝结了。以这个为例

plt.bar(list(range(5)),list(range(5, 10)),0.2)

这里我们说我们想要x value as [0,1,2,3,4] 和 x 处每个值的高度为[5, 6, 7, 8, 9]0.2 的总宽度(所以说对于 x[0],条形从 -0.1 开始,以 0.1 结束,高度为 5。)。从您的情况来看,您正在制作300 条,每个条的大小和宽度都增加了5,这是不可能的,因为在0,1 之间没有5 个步骤,实际上没有在整个 [0,300] 中。为了更好地理解这一点:

plt.figure(figsize=(20,20))
plt.bar(list(range(300)),list(range(300)),0.2)

随着您增加figsize 或减少range(),它会变得越来越清晰。

【讨论】:

    【解决方案2】:

    如果您查看下面的代码,您会发现它不是显示一个巨大的条,而是所有条都超级靠近。使用图表的默认大小参数将列表范围扩大到 300,它看起来像一个巨大的条形图。尝试将第三个参数更改为小于 1 的浮点数,看看这是否有助于您尝试绘制的内容。

    from matplotlib import pyplot as plt
    plt.bar(list(range(20)),list(range(20)), 5)
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2021-01-19
      • 2021-12-16
      • 2020-02-05
      • 2023-03-16
      相关资源
      最近更新 更多