python - 用于自定义数据悬停在 plotly lib 中的 Python_Function
问题描述
在下面的代码中,我尝试使用 customdata 来制作悬停模板,但在这种情况下,在可视化上它只显示第一行的数据。我相信应该有功能,但不知道如何实现它。
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
rows=[['501-600','15','122.58333','45.36667'],
['till 500','4','12.5','27.5'],
['more 1001','41','-115.53333','38.08'],
]
colmns=['bins','data','longitude','latitude']
df=pd.DataFrame(data=rows, columns=colmns)
df = df.astype({"data": int})
fig=px.scatter_geo(df,lon='longitude', lat='latitude',
color='bins',
opacity=0.5,
size='data',
projection="natural earth")
new_customdata = df.loc[:,('bins', 'data')]
fig.update_traces(go.Scattergeo(
customdata=new_customdata,
hovertemplate="<b>%{customdata[0]} </b><br><br>" + \
"blablabla: %{customdata[1]: .3f}<extra></extra>"))
fig.show()
解决方案
我相信这可以满足您的需求:
rows=[['501-600','15','122.58333','45.36667'],
['till 500','4','12.5','27.5'],
['more 1001','41','-115.53333','38.08'],
]
colmns=['bins','data','longitude','latitude']
df=pd.DataFrame(data=rows, columns=colmns)
df = df.astype({"data": int})
fig = go.Figure(data=go.Scattergeo(
lon = df['longitude'],
lat = df['latitude'],
mode = 'markers',
marker_color = df.index,
marker_size=df['data'],
customdata = df,
hovertemplate="<b>%{customdata[0]} </b><br><br>blablabla: %{customdata[1]: .3f}<extra></extra>"
))
fig.show()
结果是(每个项目都有不同的悬停文本):
推荐阅读
- android - 一种将整数转换为仅具有字母 1...9 和 a...z 的类型的算法
- javascript - Google Forms / Apps Script / Hangouts Chat - 机器人消息内容单独发送而不是一起发送
- database - 从 MongoDB 中的两个集合获取信息
- google-bigquery - 有没有办法在 bigquery 中使用动态数据集名称
- python - 如何从数据框中加载特征和标签
- testing - 如何将输入值与结果中的值进行比较
- webpack - 是否可以在 webpack 的另一个模块中加载生成的包的内容?
- java - 在 IDE 中抛出 IllegalArgumentException 但不打印出来
- javascript - 如何将对象附加到 JQuery 中动态添加的元素
- javascript - 比较两个纵横比