python - Python Plotly 图形与辅助 x 轴链接到主要
问题描述
我一直在为这个看似简单的任务而苦苦挣扎:如何将两个 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], 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 限制。
推荐阅读
- python - 如何抓取网站并将数据放入文件中?
- linux - 提取文件中以相同模式开头的子字符串
- python - 比较打字对象的外部类型
- r - 在R中的列表列表中组合元素
- vue.js - Vue游戏:画布未清除
- node.js - Sequelize setter错误'整数的输入语法无效:“[object Object]”'
- node.js - 通配符导入在 es2020 的 node14 中不起作用
- vue.js - 在 mapActions() 中找不到 vuex 模块命名空间:taskModule/?
- java - 插件 'org.apache.maven.plugins:maven-compiler-plugin:3.7.0' 未找到
- json - 如何从 JSON 数组在 DB 中创建表以在 Spring Boot 中创建 REST API