我是Python的新手,我知道这是一个基本问题,但是花了我一段时间。
我有一个表,其中有四列为date, time, flow, dayType
,它们显示了两天内在特定时间内有多少辆汽车通过某个区域(2018-10-05
,2018-10-12
)。
现在,我想根据同一图表(时间轴)上的时间来绘制每天的相应流量,以比较这些天,但是我得到的唯一是没有显示任何图表的空白图表!
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from numpy import split
%matplotlib inline
sns.set()
data = pd.read_excel('friday_frame.xlsx', names=['date', 'time', 'flow', 'dayType'])
fig, ax = plt.subplots(figsize=(12, 4))
dataPivot = pd.pivot_table(data, values='flow', index='time', columns='date').plot()
plt.ylabel('flows');
答案 0 :(得分:0)
我使用此代码制作了一个虚拟DataFrame,类似于您正在做的事情:
data = pd.DataFrame(data={"date": ["01/01/2019", "01/01/2019", "01/02/2019", "01/02/2019"],
"time": [pd.Timestamp(year=2019, month=1, day=1, hour=9),
pd.Timestamp(year=2019, month=1, day=1, hour=13),
pd.Timestamp(year=2019, month=1, day=2, hour=9),
pd.Timestamp(year=2019, month=1, day=2, hour=13)],
"flow": [1,2,3,4], "dayType": ["morning", "morning", "afternoon", "afternoon"]})
dataPivot = pd.pivot_table(data, values='flow', index='time', columns='date'); display(dataPivot) #Pivot Table Values
dataPivot.plot(kind="bar") #The Graph
它输出以下内容:
这与您的工作有何不同?
几件事,但没什么大不了的。
首先,plot()
需要一些kind
的图形才能绘制,在这种情况下,我选择了条形图(kind="bar"
)。当然,您可以选择任何适合自己的方式。
第二,我选择不将参数链接在一起,以便可以看到表格和图表。自从我在Jupyter中运行此代码以来,我需要使用display
在一个单元格中显示多个内容。
希望这会有所帮助!