我有一个包含3个数据集的CSV文件,每个数据集对应一条要绘制的线。我使用Pandas plot()
分组来对3条线的条目进行分组。这将生成3个单独的图表,但我希望在同一个图表上绘制所有3条线。
CSV:
shop,timestamp,sales
north,2023-01-01,235
north,2023-01-02,147
north,2023-01-03,387
north,2023-01-04,367
north,2023-01-05,197
south,2023-01-01,235
south,2023-01-02,98
south,2023-01-03,435
south,2023-01-04,246
south,2023-01-05,273
east,2023-01-01,197
east,2023-01-02,389
east,2023-01-03,87
east,2023-01-04,179
east,2023-01-05,298
代码(在Jupyter实验室测试):
import pandas as pd
csv = pd.read_csv('./tmp/sample.csv')
csv.timestamp = pd.to_datetime(csv.timestamp)
csv.plot(x='timestamp', by='shop')
这给出了以下内容:
你知道如何在一张图上呈现它们3个吗?
3条答案
按热度按时间mkshixfv1#
您可以手动创建子图:
u3r8eeie2#
[海运替代品(native Pandas.Dataframe.plot answer)]
这是作为备用“* 答案 *”发布的;为了清楚起见而不是将它们混为一谈。
Seaborn根据时间戳(格式为天)绘制每个商店的销售额(由色调指定)。
svdrlsy43#
使用
ax
关键字绘图。df_csv.groupby('shop').plot(x='timestamp', ax=plt.gca())
工作代码如下。