我一直在努力完成这项看似简单的任务:如何将两个x轴与相关数据对齐。在我的情况下,一根轴是摄氏温度,另一根轴是华氏温度。
我想要实现的是获得两个x轴的对齐,以便:
32°F = 0°C和50°F = 10°C
通过这种关系,两个数据集将在温度方面对齐。
我想将两个单位集放在同一张图上,以便观看者可以根据它们习惯的单位来解释数据。
这是我的代码:
import plotly.graph_objects as go
from plotly.subplots import make_subplots
from plotly.graph_objs.layout import YAxis,XAxis,Margin
layout = go.Layout(
title="Double X Axis Example",
xaxis=XAxis(
title="Celcius"
),
xaxis2 = XAxis(
title="Fahrenheits",
overlaying= 'x',
side= 'top',
),
yaxis=dict(
title="Y values"
),
)
# Create figure with secondary x-axis
fig = go.Figure(layout=layout)
# Add traces
fig.add_trace(
go.Scatter(x=[10, 20, 30], y=[4.5, 6, 5], name="data set in celcius"),
)
fig.add_trace(
go.Scatter(x=[40, 60, 80], y=[4, 5, 6.5], name="data set in fahrenheit", xaxis='x2'),
)
fig.show()
谢谢,
在这种情况下,可能会帮助设置x轴的范围,如下所示:
fig.add_trace(
go.Scatter(x=[10, 20, 30], y=[4.5, 6, 5,], name="data set in celcius",xaxis="x1"),
)
fig.add_trace(
go.Scatter(x=[40, 60, 80,81], y=[4, 5, 6.5], name="data set in fahrenheit", xaxis='x2'),
)
fig.update_layout(
xaxis1=dict(range=[0, 100]),
xaxis2=dict(range=[32, 212]),
)
...可能计算x1所需的极限,然后以x2为基础。