剧情:add_annotation的奇怪行为

Plotly : Strange behavior of add_annotation

提问人:Nicolas 提问时间:11/2/2023 更新时间:11/2/2023 访问量:23

问:

我使用 patly express 从 geojson 文件绘制 choropeth 地图并想添加注释。 当我添加第一个时,它运行良好。但是,当涉及到第二个时,它会改变所有注释的轴。

    fig = go.Figure(data=go.Choropleth(
            geojson=geojson_commune,
            locations=df_commune['code'],
            z=df_commune['val'].astype(float), 
            featureidkey='properties.code', 
            colorscale='Viridis',
            colorbar_title='Nombre de demandes',
))

    fig.update_geos(fitbounds="locations", visible=False)

dict_bigcities={'Rouen':(1.0993, 49.4431), 
                'Le Havre':(0.1077, 49.4938),
                'Evreux':( 1.1508, 49.0241)
        }

这是add_annotation的第一个电话,工作正常

text='Rouen'
(x,y) = dict_bigcities[text]

#First call of add_annotation
fig.add_annotation(
                text=text,
                x=x,
                y=y,
                xref="x",
                yref="y",
                showarrow=True,
                font=dict(family="Courier New, monospace",size=10,color="#ffffff"),
                align="center",
                arrowhead=1,
                arrowsize=1,
                arrowwidth=1,
                arrowcolor="#c7c7c7",
                ax=20,
                ay=-30,
                bordercolor="#c7c7c7",
                borderwidth=2,
                borderpad=4,
                bgcolor="#ff7f0e",
                opacity=0.8
        )

First call : use same axis as choropeth

这里是add_annotation的第二次调用及其结果:

text='Le Havre'
(x,y) = dict_bigcities[text]

fig.add_annotation(
                text=text,
                x=x,
                y=y,
                xref="x",
                yref="y",
                showarrow=True,
                font=dict(
                    family="Courier New, monospace",
                    size=10,
                    color="#ffffff"
                    ),
                align="center",
                arrowhead=1,
                arrowsize=1,
                arrowwidth=1,
                arrowcolor="#c7c7c7",
                ax=20,
                ay=-30,
                bordercolor="#c7c7c7",
                borderwidth=2,
                borderpad=4,
                bgcolor="#ff7f0e",
                opacity=0.8
        )

Second call : unwanted change of axes

你知道为什么第二次调用后轴似乎会发生变化吗? 谢谢

plotly plotly-python choropleth

评论

0赞 r-beginners 11/2/2023
我不知道这是否正确,因为没有显示注释数据,但由于地图是按纬度和经度绘制的,我认为注释也需要定位在纬度和经度上。
0赞 Nicolas 11/2/2023
此处给出注释 :d ict_bigcities={'Rouen':(1.0993, 49.4431), 'Le Havre':(0.1077, 49.4938), 'Evreux':( 1.1508, 49.0241) }
0赞 r-beginners 11/3/2023
这些只是数字。处理它的唯一方法是使用等值统计图和scatter_mapbox文本模式。有关类似的示例,请参阅 plotly 社区。

答: 暂无答案