我有一个DataFrame
的Tweet值,想针对'Favourites'
绘制'Date'
的图形,并按'User'
对数据进行分类/颜色编码。
我能够获得数据的散点图或条形图,但无法获得有效的解决方案以根据'User'
进行分类。 'Date'
在图中也变得混乱,我无法理解导致此问题的原因。
我尝试使用this tutorial获取折线图,但不了解如何将其应用于我的DataFrame
data_frame = pandas.DataFrame(data=[tweet.text for tweet in tweets], columns=['Tweets'])
data_frame['User'] = numpy.array([tweet.user.screen_name for tweet in tweets])
data_frame['ID'] = numpy.array([tweet.id for tweet in tweets])
data_frame['Length'] = numpy.array([len(tweet.text) for tweet in tweets])
data_frame['Date'] = numpy.array([tweet.created_at for tweet in tweets])
data_frame['Source'] = numpy.array([tweet.source for tweet in tweets])
data_frame['Favourites'] = numpy.array([tweet.favorite_count for tweet in tweets])
data_frame['Retweets'] = numpy.array([tweet.retweet_count for tweet in tweets])
return data_frame
x = result.Date
y = result.Favourites
plt.xlabel("Date", fontsize=10)
plt.ylabel("Favourites", fontsize=10)
plt.figure(figsize=(30,30))
fig, ax = plt.subplots()
plt.scatter(x,y)
plt.savefig('plot.png')
我希望该图显示Favourites
随时间变化的线形图,并用不同的User
颜色编码,如下例所示:
我当前的输出是这样的:
答案 0 :(得分:0)
不查看确切数据就很难提供解决方案。也许这值得一试。
for user in data_frame.User.unique():
d = data_frame[data_framef['User']==user]
plt.plot(d['Date'],d['Favourites'],'o')
plt.plot()
答案 1 :(得分:0)
df = pd.DataFrame( {'Favorites':['100','200','300'] ,'Date':['02/20/2015','01/15/2016','08/21/2015']})
df['Date'] =pd.to_datetime(df.Date)
df=df.sort_values("Date")
x=df.Date
y=df.Favorites
plt.plot(x,y)
plt.show()
从您提供的图像中,我看到在进行打印以尝试按日期对数据框进行排序然后进行打印时,存在锯齿形线。