我一直在苦苦思索这个看似简单的任务:如何对齐两个相关数据的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()
这是未对齐的坐标轴导致的图形结果(10°C = 40°F !?):
![Resulting figure](https://istack.dev59.com/EkXHa.webp)