Plotly:在同一个图中绘制直线和散点图

标签 plotly plotly-python

我有一个带有 DateTimeIndex 和数字数据列的 pandas DataFrame,我使用 px.line 创建了一个折线图。我现在想突出显示线上的某些点,为此,我决定覆盖一个散点图,其行是初始 DataFrame 行的子集。

我尝试了类似 fig.add_trace(go.Scatter(x=df.index, y=df.col)) 的操作,但这在我的折线图上创建了一条新线,而不是散点图。我还寻找了一个 graph_objects 函数来制作折线图,但找不到它。

我还观察到,虽然我可以使用 px.scatter 制作散点图(即,我看到一堆点而不是一条线),甚至可以将上述跟踪添加到空图仍然会创建折线图。也许这里的解决方案就像将正确的参数传递给 go.Scatter 来获取点而不是线一样简单,但我不确定那会是什么。

最佳答案

go.Scatter 的默认行为是添加标记和线条。

要仅绘制点,您可以将参数 mode='markers' 传递给 go.Scatter:

fig.add_trace(go.Scatter(x=df.index, y=df.col, mode='markers'))

例如:

df = px.data.stocks()
fig = px.line(df, x='date', y="GOOG")
df_highlighted = df.iloc[50:60]
fig.add_trace(go.Scatter(x=df_highlighted['date'], y=df_highlighted['GOOG'], mode='markers'))

enter image description here

关于Plotly:在同一个图中绘制直线和散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72538516/

相关文章:

node.js - 如何在 Plotly 中显示所有 x 轴刻度值?

python - Plotly:如何使用日期时间索引在中心绘制一条线的范围?

python - 在 Plotly Python 中更改子图标题位置/方向

r - 如何获取 ROC 曲线中 x 轴(FPR)和 y 轴(TPR)的值

python - Plotly:行数 > 500 时不显示范围 slider

python-3.x - plotly 有办法将 x 轴上的日期转换为一周中的某一天吗?

python - 多迹线图表上不必要的额外边距

python - 同一图上的多个 imshow,带有不透明度 slider

javascript - bootstrap 网格中 plotly 图表周围的巨大空白

将曲面图中的线条删除到 x、y 和 z 平面