[英]How to add customdata to a plotly Scattermapbox plot
我在带有 go.Scattermapbox 的go.Scattermapbox
中显示不同的气候测量站。 现在我想通过在hovertemplate
命令中使用customdata
在 hover 中包含多个不同的值。 这适用于作为图形一部分的值(如 lat、lon),但我无法弄清楚如何使customdata
命令与外部数据一起工作(例如,在 hover 框中添加高度值)。
plot_data = [
go.Scattermapbox(
lon=data_slctd["longitude"],
lat=data_slctd["latitude"],
mode="markers",
text = data_slctd.site_name.tolist(),
hovertemplate = "<b>%{text}</b><br><br>" + "longitude: %{lon:.2f}<br>" + "latitude: %{lat:.2f}<br>" + "altitude: %{customdata[0]:.0f}<br>"+ "ppm: %{marker.color:.2f}<extra></extra>",
)
]
As explained in the tutorial https://plotly.com/python-api-reference/generated/plotly.graph_objects.Scattermapbox.html (under "Adding other data to the hover with customdata and a hovertemplate") I have tried to include the customdata == np.dstack((hover_1, hover_2))
go.Scattermapbox
,但尝试使用%customda[0}:.0f
访问 hover_1 的第一个值不起作用。
hover_1 和 hover_2 保存显示的所有站点的海拔高度值(即每个站点的长度与站点数量相同)。
这就是 hover 的样子:
可能customdata
没有显示,因为customdata
数组的长度与lat
和lon
变量的长度不匹配。 当您执行customdata[0]
时,您试图获取customdata
数组的子列表的第一个元素。 例如,如果您有
x = [1,2,3],
y = [3,4,5]
在 plotly 图中, customdata
应该类似于:
customdata = [
["a", "b"],
["c", "d"],
["e", "f"],
]
这样,当您在(1,3)
上执行customdata[0]
和 hover 时,您将a
. 如果您在2,4
上执行 hover 并执行customdata[1]
您将得到d
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.