Ébe*_*aac 7 python plotly plotly-python plotly-express
Plotly Express 有一种直观的方式,可以用最少的代码行提供预先格式化的绘图;有点像 Seaborn 如何为 matplotlib 做到这一点。
可以在 Plotly 上添加图迹以在现有线图上获得散点图。但是,我在 Plotly Express 中找不到这样的功能。
是否可以在 Plotly Express 中组合散点图和折线图?
ves*_*and 14
您可以使用:
fig3 = go.Figure(data=fig1.data + fig2.data)
Run Code Online (Sandbox Code Playgroud)
其中fig1和fig2分别使用px.line()和构建px.scatter()。并且fig3,如您所见,是使用plotly.graph_objects.
一种方法,我用了很多正在建设两个数字fig1和fig2使用plotly.express,然后使用他们的数据与属性一起结合他们go.Figure / plotly.graph_objects这样的对象:
import plotly.express as px
import plotly.graph_objects as go
df = px.data.iris()
fig1 = px.line(df, x="sepal_width", y="sepal_length")
fig1.update_traces(line=dict(color = 'rgba(50,50,50,0.2)'))
fig2 = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig3 = go.Figure(data=fig1.data + fig2.data)
fig3.show()
Run Code Online (Sandbox Code Playgroud)
编辑:修复了拼写错误。
这非常有效,并且对于 FlipSTAR 关于向组合图添加全局布局的澄清更加有用。然而,有时全局布局并不能涵盖所有内容。例如,在我的例子中(一个堆叠条形图和两条单散点图线),我的全局布局导致我丢失了散点图图例。幸运的是,您可以通过针对特定数字向组合Fig 添加其他参数。例如,给定一个假设:
fig1 = px.bar(...)
fig2 = px.line(...)
fig3 = px.line(...)
all_fig = go.Figure(data=fig1.data + fig2.data + fig3.data, layout = fig1.layout)
Run Code Online (Sandbox Code Playgroud)
这是一个条形图和两个散点图,每个散点图都有一条线,您可以使用以下命令为每条线添加图例:
all_fig['data'][1]['showlegend']=True
all_fig['data'][1]['name']='Line 1 Name'
all_fig['data'][1]['hovertemplate']='Line 1 Name<br>x=%{x}<br>y=%{y}<extra></extra>'
all_fig['data'][2]['showlegend']=True
all_fig['data'][2]['name']='Line 2 Name'
all_fig['data'][2]['hovertemplate']='Line 2 Name<br>x=%{x}<br>y=%{y}<extra></extra>'
Run Code Online (Sandbox Code Playgroud)
(栏是 all_fig['data'][0])。
由于某种原因,该名称不会在悬停时显示,除非您明确将其添加到“hovertemplate”。
| 归档时间: |
|
| 查看次数: |
3596 次 |
| 最近记录: |