【问题标题】:Histogram not showing in matplotlib直方图未显示在 matplotlib 中
【发布时间】:2021-05-09 11:14:57
【问题描述】:

我必须使用 matplotlib 绘制直方图。问题是我不明白为什么我的直方图不会显示,轴被绘制并标记但没有显示图表(见下图),下面是我的代码。请告诉我如何解决这个问题。

      val=list(movie['Year'].value_counts().values)
        #movie is a dataframe and in this case val has following values
       #[297, 127, 98, 91, 64, 63, 60, 53, 52, 51, 44]



        plt.hist(val) #val is a list
       
        plt.ylim([2006,2016])

        plt.yticks(np.arange(2006, 2017, 1))


         plt.show()

【问题讨论】:

  • 它是一个数字列表
  • val=list(movie['Year'].value_counts().values)
  • 这就是我填充 val 的方式,movie 是一个数据帧

标签: python matplotlib


【解决方案1】:

根据您的信息,我的猜测是,您对直方图是什么感到困惑。直方图基本上计算有多少给定值落在给定范围内。 因此,在您的问题中,您不应该计算电影年份的频率,直方图会为您做到这一点。像这样

year_list = [...] #contains year
plt.hist(year,bins,histtype,....) #hist method parameters
plt.show()

【讨论】:

    【解决方案2】:

    删除ylim 和yticks,您应该会看到您的直方图。

    在您给出的示例中,您设置的 y 限制(2006-2016)与数据(每个 bin 中的计数)不一致。 val 中的元素数量 11 远小于您设置的最小值(2006)。

    此外,正如@SifatAmin 所指出的,您可能需要检查直方图的工作原理。

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 1970-01-01
      • 2011-09-06
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 2019-07-11
      相关资源
      最近更新 更多