辅助x轴链接到主x轴的Python绘图图形

辅助x轴链接到主x轴的Python绘图图形,python,plotly,Python,Plotly,我一直在努力完成这个看似简单的任务:如何将两个x轴与相关数据对齐。在我的例子中,一个轴以摄氏度为单位,另一个轴以华氏度为单位 我想要实现的是使两个x轴对齐,以便: 32°F=0°C 及 50°F=10°C 通过这种关系,两个数据集将在温度方面保持一致 我希望在同一个图形上有两个单位集,以便查看器可以根据它们使用的单位来解释数据 这是我的密码: import plotly.graph_objects as go from plotly.subplots import make_subplots f

我一直在努力完成这个看似简单的任务:如何将两个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!?):


谢谢,

在这种情况下,设置x轴的范围可能会有所帮助,如下所示:

fig.add\u跟踪(
go.Scatter(x=[10,20,30],y=[4.5,6,5,5],name=“celcius中的数据集”,xaxis=“x1”),
)
图1添加_轨迹(
go.Scatter(x=[40,60,80],y=[4,5,6.5],name=“华氏温度下的数据集”,xaxis='x2'),
)
图1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1(
xaxis1=dict(范围=[01100]),
xaxis2=dict(范围=[32212]),
)

…可能会计算x1所需的限制,然后以此为基础计算x2限制。

如果您真的想这样做,我建议您使用XTICK颜色。否则将很难读取图表。指定xaxis范围对您有效吗?这有效,但我正在寻找一种更自动化的方法来对齐两个轴(如指定x1和x2之间关系的选项[x2=a*x1+b])。此外,此解决方案需要溢出数据才能有效,使跟踪不覆盖整个x范围。是的,使用此方法,您需要提前做一些工作,以确保正确设置范围,但我认为无需溢出(只要您提前计算最小/最大值)。