Matplotlib 喜欢用 plotly 表达的图形
Matplotlib like graphs with plotly express
以下是我的 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 为所有项目创建线图。谢谢
他们的文档中有很好的示例 (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')
以下是我的 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 为所有项目创建线图。谢谢
他们的文档中有很好的示例 (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')