我有以下代码
import plotly.graph_objs as go
layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
xaxis={'title':'x[m]'},
yaxis={'title':'y[m]','range':[-10,10]})
point_plot=[
go.Scatter(x=[3,4],y=[1,2],name="V0"),
go.Scatter(x=[1,2],y=[1,1],name="V0"),
go.Scatter(x=[5,6],y=[2,3],name="GT")
]
go.Figure(data=point_plot, layout=layout1).show()
Run Code Online (Sandbox Code Playgroud)
产生以下情节
然而,这并不是我想要的。我想要的是,标有“V0”的两组必须颜色相同,并且图例中只有一个标记。(实际上,我将绘制多于两组的图,例如由一条线连接的 20 组对,它们都必须是相同的颜色并且在图例中只有一个标记)
在这里,您应该使用相同legendgroup的第一个跟踪并手动设置相同的颜色。要隐藏第二个图例,参数是showlegend=False。
import plotly.graph_objs as go
line_color=dict(color="blue")
layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
xaxis={'title':'x[m]'},
yaxis={'title':'y[m]','range':[-10,10]})
point_plot=[
go.Scatter(x=[3,4],
y=[1,2],
name="V0",
legendgroup="V0",
line=line_color),
go.Scatter(x=[1,2],
y=[1,1],
name="V0",
legendgroup="V0",
line=line_color,
showlegend=False),
go.Scatter(x=[5,6],
y=[2,3],
name="GT")]
go.Figure(data=point_plot, layout=layout1).show()
Run Code Online (Sandbox Code Playgroud)
小智 3
您可以将两个V0线段组合在一个散点图中,并添加一个额外的点np.nan来分割两个线段值,如下所示:
import plotly.graph_objs as go
import numpy as np
layout1= go.Layout(title=go.layout.Title(text="A graph",x=0.5),
xaxis={'title':'x[m]'},
yaxis={'title':'y[m]','range':[-10,10]})
point_plot=[
go.Scatter(x=[1,2,3,3,4],y=[1,1,np.nan, 1,2],name="V0"),
go.Scatter(x=[5,6],y=[2,3],name="GT")
]
go.Figure(data=point_plot, layout=layout1).show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |