0

以下是我的 Pandas 数据框,它非常容易使用 matplotlib 为所有项目创建线图。我只是写

df.plot()

它为所有项目创建了一条单独的线,但我想用 plotly express 创建相同的线图,但我做不到,可能是因为我有日期列

df;
dataDate 2019-10-01 2019-10-02  2019-10-01  2019-10-01  2019-10-02 
name                        
item1      0.24      0.12       0.19        0.20        0.12    
item2      0.26      0.25       0.17        0.17        0.13    
item3      0.22      0.24       0.18        0.17        0.16    
item4      0.72      0.22       0.19        0.20        0.15    
item5      0.55      0.23       0.19        0.18        0.14    

建议我如何使用 plotly express 为所有项目创建线图。谢谢

4

1 回答 1

1

他们的文档中有很好的示例(https://plot.ly/python/plotly-express/#scatter-and-line-plots)。

按照设计,它最适用于整洁的数据,因此您将有一列用于日期,一列用于项目编号,然后有一列用于值。

from datetime import datetime, timedelta
import numpy as np
import pandas as pd

base = datetime.today()
dates = [base - timedelta(days=x) for x in range(10)] * 3
cats = ['A'] * 10 + ['B'] * 10 + ['C'] * 10
vals = np.arange(30)

df = pd.DataFrame({'Date': dates, 'Category': cats, 'Value': vals})
px.line(df, x='Date', y='Value', color='Category')
于 2020-03-06T05:57:01.133 回答