我正在制作一张交互式 map , map 本身没有问题,元素在附加悬停标记中的定位方式有问题.有什么办法可以改变这个顺序吗?有没有可能不显示纬度和经度指示器?

示例代码:

@st.cache(hash_funcs={dict: lambda _: None})
def my_stat_map(df_region_map):

    fig_map = px.scatter_mapbox(df_region_map,
                                hover_name='Region name',
                                hover_data=['Confirmed', 'Deaths', 'Recovered',
                                            'Daily confirmed', 'Daily deaths', 'Daily recovered'],
                                lat='Latitude dd',
                                lon='Longitude dd',
                                size='Confirmed',
                                color='Confirmed',
                                color_continuous_scale='Sunsetdark',
                                zoom=3,
                                size_max=45,
                                opacity=0.8,
                                height=600)

    fig_map.update_layout(mapbox_style="carto-positron", showlegend=True)
    fig_map.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})

    dict_map = {'map_key': fig_map}
    return dict_map

What do I get: enter image description here

如何更改此输出中的顺序?我想删除纬度和经度,或者至少将它们移到输出的末尾.

推荐答案

这里介绍了这些内容:https://plotly.com/python/hover-text-and-formatting/#disabling-or-customizing-hover-of-columns-in-plotly-express



fig_map = px.scatter_mapbox(
    df_region_map,
    hover_name="Region name",
    hover_data={
        "Confirmed":True,
        "Deaths":True,
        "Recovered":True,
        "Daily confirmed":True,
        "Daily deaths":True,
        "Daily recovered":True,
        "Latitude dd":False,
        "Longitude dd":False
    },
    lat="Latitude dd",
    lon="Longitude dd",
    size="Confirmed",
    color="Confirmed",
    color_continuous_scale="Sunsetdark",
    zoom=3,
    size_max=45,
    opacity=0.8,
    height=600,
)

fig_map.update_layout(mapbox_style="carto-positron", showlegend=True)
fig_map.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})

fig_map

创建数据框

import plotly.express as px
import pandas as pd
import requests

df_ = pd.read_csv(
    "https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/latest/owid-covid-latest.csv"
)
# alpha3
df_geo = pd.json_normalize(
    requests.get(
        "https://raw.githubusercontent.com/eesur/country-codes-lat-long/master/country-codes-lat-long-alpha3.json"
    ).json()["ref_country_codes"]
).rename(columns={"latitude": "Latitude dd", "longitude": "Longitude dd"})

df = df_.loc[
    :,
    [
        "iso_code",
        "location",
        "total_cases",
        "total_deaths",
        "total_tests",
        "new_cases",
        "new_deaths",
        "new_tests",
    ],
].rename(
    columns={
        "location": "Region name",
        "total_cases": "Confirmed",
        "total_deaths": "Deaths",
        "total_tests": "Recovered",
        "new_cases": "Daily confirmed",
        "new_deaths": "Daily deaths",
        "new_tests": "Daily recovered",
    }
)
df_region_map = pd.merge(df, df_geo, left_on="iso_code", right_on="alpha3").dropna(subset="Confirmed")


Python相关问答推荐

从Python调用GMP C函数时的分段错误和内存泄漏

使用多个性能指标执行循环特征消除

我从带有langchain的mongoDB中的vector serch获得一个空数组

Python 约束无法解决n皇后之谜

对于一个给定的数字,找出一个整数的最小和最大可能的和

如何在Windows上用Python提取名称中带有逗号的文件?

将两只Pandas rame乘以指数

无法通过python-jira访问jira工作日志(log)中的 comments

从numpy数组和参数创建收件箱

pandas滚动和窗口中有效观察的最大数量

用NumPy优化a[i] = a[i-1]*b[i] + c[i]的迭代计算

OR—Tools CP SAT条件约束

Godot:需要碰撞的对象的AdditionerBody2D或Area2D以及queue_free?

如何在WSL2中更新Python到最新版本(3.12.2)?

我如何根据前一个连续数字改变一串数字?

使用密钥字典重新配置嵌套字典密钥名

pandas在第1列的id,第2列的标题,第3列的值,第3列的值?

如何在表中添加重复的列?

如果有2个或3个,则从pandas列中删除空格

如何过滤组s最大和最小行使用`transform`'