【问题标题】:How to create a histogram?如何创建直方图?
【发布时间】:2018-04-16 17:01:22
【问题描述】:

我有以下数据框。我想通过对推文编号进行排序来创建一个简单的直方图。

**Source**        **Number of Tweets**
Twitter for Android 59472
Twitter for iPhone  27244
Twitter Web Client  9239
Twitter Lite    6479
Twitter for iPad    1159
TweetCaster for Android 407
Twitter for Windows Phone   233
TweetDeck   219
Mobile Web (M2) 197
Twitter for Windows 134
Commun.it   121
Facebook    18
Media Studio    16
MeTweets for Windows Phone  14

这里是代码;

my_plot = data.sort(columns='Number of Tweets',ascending=False).plot(
                    kind='bar',legend=None,title="Tweet Numbers Per Source")
my_plot.set_xlabel("Source")
my_plot.set_ylabel("Tweet Numbers")

但我收到警告:

/home/bd/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:1:
    FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
if __name__ == '__main__':`

另外,当我编码时:

my_plot.show()

我收到以下错误消息。

AttributeError: 'AxesSubplot' object has no attribute 'show'

我该如何解决这个问题?

【问题讨论】:

  • 你从sort(columns=....) is deprecated, use sort_values(by=.....)得出什么结论?
  • 嗨,您能否扩展您的核心以包括如何导入绘图模块?
  • 我以这种方式得到直方图。我还修复了 FutureWarning: sort(columns=....) 已弃用,使用 sort_values(by=.....) 部分

标签: python matplotlib histogram


【解决方案1】:

使用直方图快速纠正错误: 我假设您使用 matplotlib 库作为直方图,并且您像这样导入库:

import matplotlib.pyplot as plt

然后在最后尝试运行这个命令:

plt.show()

代替:

my_plot.show()

在不引用包含您的数据的特定对象的情况下使用此 plt.show 方法是不直观的。

查看this link 以获取示例直方图。他们使用 numpy 和 matplotlib。 接下来您要使用条形图,而不是直方图。直方图需要数百到数千个数字,并将它们排序到一定数量的列,例如其中的 5 个。您有预定义的列,这些列将与其值一样高。这可以使用条形图来显示。查看条形图示例here

【讨论】:

  • 请避免假设。不知道的可以先在评论中提问。然后,如果您的假设是正确的,请发布答案。
  • 好的,我这样得到直方图。我还修复了 FutureWarning: sort(columns=....) 已弃用,使用 sort_values(by=.....) 部分。
  • 但我想让前 10 个项目显示在直方图中。我在 my_plot = data.sort(columns='Number of Tweets',ascending=False).plot( kind='bar',legend=None,title="Tweet Numbers Per Source", bins = 10) 但我收到一条错误消息。
  • @Behzat 现在我看到了你想要实现的目标,你想要使用条形图,而不是直方图。直方图需要数百到数千个数字,并将它们排序到一定数量的列,例如 5。您有预定义的列,这些列将与它们的值一样高。这可以使用条形图显示。
  • 嗨,我没有解决这个对齐问题的经验,你应该用示例图片和小的工作代码创建一个新问题。也许有人知道如何解决它。谷歌用于 matplotlib 刻度标签对齐。
猜你喜欢
  • 2017-07-27
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2020-01-12
  • 1970-01-01
相关资源
最近更新 更多