Python 如何创建直方图?

Python 如何创建直方图?,python,matplotlib,histogram,Python,Matplotlib,Histogram,我有下面的数据框。我想通过对tweets数字进行排序来创建一个简单的直方图 **来源****推文数量** Android的Twitter 59472 iPhone 27244的推特 推特网络客户端9239 Twitter Lite 6479 ipad1159的推特 适用于Android 407的TweetCaster 适用于Windows Phone 233的Twitter TweetDeck 219 移动网络M2 197 适用于Windows 134的Twitter 公社it 121 Face

我有下面的数据框。我想通过对tweets数字进行排序来创建一个简单的直方图

**来源****推文数量** Android的Twitter 59472 iPhone 27244的推特 推特网络客户端9239 Twitter Lite 6479 ipad1159的推特 适用于Android 407的TweetCaster 适用于Windows Phone 233的Twitter TweetDeck 219 移动网络M2 197 适用于Windows 134的Twitter 公社it 121 Facebook 18 媒体工作室16 适用于Windows Phone 14的MeTweets 这是代码

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: 未来警告:sortcolumns=。。。。如果已弃用,请使用sort_valuesby=。。。。。 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':` 此外,当我编写代码时:

my_plot.show()
我得到下面的错误消息

AttributeError:“AxeSubPlot”对象没有属性“show”


如何解决此问题?

要使用直方图快速更正错误,请执行以下操作: 我假设您将matplotlib库用于直方图,并按如下方式导入库:

import matplotlib.pyplot as plt
然后尝试在末尾运行此命令:

plt.show()
而不是:

my_plot.show()
使用此plt.show方法而不引用包含数据的特定对象是违反直觉的

检查直方图示例。它们使用numpy和matplotlib。
接下来要使用条形图,而不是直方图。直方图需要数百到数千个数字,并将它们排序为若干列,例如5列。您有预定义的列,这些列将与它们的值一样高。这可以使用条形图显示。检查条形图的示例。

您从sortcolumns=..得出什么结论。。。。如果已弃用,请使用sort_valuesby=…?您好,您是否可以进一步扩展您的核心,以包括如何导入绘图模块?请以这种方式提供I get直方图。我还修复了FutureWarning:sortcolumns=。。。。如果已弃用,请使用sort_valuesby=。。。。。请避免假设。当你不知道的时候,先问一个评论。然后,如果你的假设是真的,发布一个答案。好的,我用这种方式得到直方图。我还修复了FutureWarning:sortcolumns=。。。。如果已弃用,请使用sort_valuesby=。。。。。部分。但我想在直方图中显示前10项。我在我的_plot=data.sortcolumns='Number of Tweets',ascending=False.plot kind='bar',legend=None,title=Tweet Number Per Source,bins=10中添加了'bins=10',但我收到了一条错误消息。@Behzat现在我看到了您想要实现的目标,您想要使用条形图,而不是直方图。直方图需要数百到数千个数字,并将它们按一定数量的列进行排序,例如5。您有预定义的列,这些列将与它们的值一样高。这可以用条形图来显示。嗨,我没有这个对齐问题的经验,你应该用示例图片和小的工作代码创建一个新问题。也许有人知道怎么修理它。谷歌matplotlib勾号标签对齐。