如何在plotly.express中添加痕迹

Mik*_*elC 20 scatter python-3.x plotly

我对 python 和plotly.express 很陌生,我发现它很令人困惑......

我正在尝试使用向我的图形添加不同迹线的原理,使用此处显示的示例代码https://plotly.com/python/line-charts/、线图模式、#Create 迹线。

但我从 .CSV 文件获取数据。

import plotly.express as px
import plotly as plotly
import plotly.graph_objs as go
import pandas as pd

data = pd.read_csv(r"C:\Users\x.csv")

fig = px.scatter(data, x="Time", y="OD", color="C-source", size="C:A 1 ratio")

fig = px.line(data, x="Time", y="OD", color="C-source")
fig.show()
Run Code Online (Sandbox Code Playgroud)

上面的线生成具有正确数据的散点图/线图,但数据混合在一起。我有来自 2 个不同来源的数据,这些数据在 .csv 文件中以名为“应变”的列标记,我希望图表能够反映这些数据。

痕迹选项是一种可行的方法,还是有其他方法?

用 px.line 绘制的图

Peq*_*que 23

您可以使用 Express 绘图添加迹线.select_traces()。就像是:

fig.add_traces(
    list(px.line(...).select_traces())
)
Run Code Online (Sandbox Code Playgroud)

请注意需要转换为list,因为.select_traces()返回一个生成器。


lxm*_*l56 9

看起来您可能也希望在单个绘图上包含带有散点的线条?

\n

您设置fig为 equal px.scatter(),然后将其设置(更改)为 equal px.line()。当设置为 时line,散点图将被覆盖。

\n

您已经导入了图形对象,因此您可以使用add_tracewith go,如下所示:

\n
fig.add_trace(go.Scatter(x=data["Time"], y=data["OD"], mode=\'markers\', marker=dict(color=data["C-source"], size=data["C:A 1 ratio"])))\n
Run Code Online (Sandbox Code Playgroud)\n

根据数据的设置方式,您可能需要单独添加每个 C 源,执行以下操作:

\n
x=data.query("C-source==\'Term\'")["Time"], ... , name=\'Term\'`\n
Run Code Online (Sandbox Code Playgroud)\n

以下是一些参考资料,其中包含可用于设置分散的示例和选项:

\n

散点图示例\xe3\x80\x80\xe3\x80\x80

\n

标记样式\xe3\x80\x80\xe3\x80\x80

\n

分散参数和属性

\n

  • 有没有办法在Fig.add_trace中传递plotly.express图而不是graph_object? (3认同)