从一个数据框中绘制多个时间序列
Plot multiple time series from a dataframe
我想在 Y 轴上绘制销售额,在 X 轴上绘制时间。每个车型一行。我设法为总销售额画了一条线。有什么关于获取每种车型的线路的建议吗?
cars = {"Date" : ["2020-01-29", "2020-01-02", "2020-01-24", "2020-05-21", "2020-12-31", "2020-12-01", "2020-12-01"],
"Brand": ["Honda Civic","Toyota Corolla","Honda Civic", "Ford Focus","Audi A4", "Ford Focus", "Ford Focus"],
"Price": [22000,25000,22000,27000,35000,27000,27000]
}
df2 = pd.DataFrame(cars, columns = ["Date", "Brand", "Price"])
df2["Date"] = pd.to_datetime(df2["Date"])
df2=df2.sort_values(by="Date")
df2.index = df2["Date"]
gb2=df2.groupby([df2.index.year.values,df2.index.month.values,df2.index.day.values]).sum()
gb2.plot.line()
plt.show()
您可以通过以下方式为每个车型绘制一条线。请注意,使用 marker
是因为孤立的线条不会显示 Toyota Corolla 或 Audi A4 的任何绘图数据,它们分别仅由一个数据点表示。
fig,ax = plt.subplots()
for (i, b) in df2.groupby('Brand'):
b.plot(x='Date', y='Price', marker='o', ax=ax, label=i)
ax.legend()
我想在 Y 轴上绘制销售额,在 X 轴上绘制时间。每个车型一行。我设法为总销售额画了一条线。有什么关于获取每种车型的线路的建议吗?
cars = {"Date" : ["2020-01-29", "2020-01-02", "2020-01-24", "2020-05-21", "2020-12-31", "2020-12-01", "2020-12-01"],
"Brand": ["Honda Civic","Toyota Corolla","Honda Civic", "Ford Focus","Audi A4", "Ford Focus", "Ford Focus"],
"Price": [22000,25000,22000,27000,35000,27000,27000]
}
df2 = pd.DataFrame(cars, columns = ["Date", "Brand", "Price"])
df2["Date"] = pd.to_datetime(df2["Date"])
df2=df2.sort_values(by="Date")
df2.index = df2["Date"]
gb2=df2.groupby([df2.index.year.values,df2.index.month.values,df2.index.day.values]).sum()
gb2.plot.line()
plt.show()
您可以通过以下方式为每个车型绘制一条线。请注意,使用 marker
是因为孤立的线条不会显示 Toyota Corolla 或 Audi A4 的任何绘图数据,它们分别仅由一个数据点表示。
fig,ax = plt.subplots()
for (i, b) in df2.groupby('Brand'):
b.plot(x='Date', y='Price', marker='o', ax=ax, label=i)
ax.legend()