【问题标题】:Scatter Plot With Multi Column Data in Plotly ExpressPlotly Express 中多列数据的散点图
【发布时间】:2021-10-05 10:38:07
【问题描述】:
我有一个pandas 数据框,如下所示
x s y
Date
2021-06-25 1 red 2
2021-06-28 2 red 3
2021-06-29 3 red 4
2021-06-25 1 blue 2
2021-06-28 2 blue 3
2021-06-29 3 blue 4
如何在plotly[express]/cufflinks 中创建散点图,例如
使得绘图轴是 x 和 y 和 red 和 blue 在绘图中是单独的轨迹。
有什么提示吗?
【问题讨论】:
标签:
pandas
dataframe
plotly
【解决方案1】:
- 您的样本数据看起来有问题,红色和蓝色的值相同。已将 .5 添加到蓝色以进行演示
- 简单的pandas首先构造数据,所以颜色是列
- 然后使用情节表达
scatter()
import pandas as pd
import io
import plotly.express as px
df = pd.read_csv(io.StringIO("""Date x s y
2021-06-25 1 red 2
2021-06-28 2 red 3
2021-06-29 3 red 4
2021-06-25 1 blue 2.5
2021-06-28 2 blue 3.5
2021-06-29 3 blue 4.5"""), sep="\s+").set_index("Date")
df2 = df.set_index(["x","s"]).unstack("s").droplevel(0,1)
px.scatter(df2, x=df2.index, y=df2.columns)