如何在 OpenStreetMap 上绘制数据(Python)

3

感谢您提前的回答。

我正在尝试在互动地图(OpenStreetMap)上绘制数据框,但我得到的结果是图片中的样子,我希望地图轮廓能够覆盖我的数据,而不是数据像一个斑点一样出现在地图上。

我的代码如下:

import plotly.express as px
import numpy as np
from plotly.offline import plot

fig = px.scatter_mapbox(df, lat="lat", lon="lon",
                        color="hot days", zoom=4,
                        color_continuous_scale=px.colors.cyclical.Twilight,
                        mapbox_style='open-street-map')

plot(fig, auto_open=True)

And the result I get is this:

OpenStreetMap

1个回答

2
问题可能出在您的DataFrame结构上。看起来,“无数据”区域被映射为零或类似的值,并且DF包括地图上每个点的记录 - 包括您不想绘制的空/零数据位。尝试过滤掉具有零数据的记录。可以使用类似以下的语句:
df = df[df['hot days']>0]

在海洋或其他无数据区域中选取一个或两个点来确认它们的值为0,并相应地设置阈值。如果它们是null,尝试使用notna()函数。

df = df[df['hot days'].notna()]

你好!非常感谢您的建议,它确实起到了作用,并消除了没有日期的点。请问是否可以按照以下类别对色条进行分组:0-2;2-4;6-8? - userpython
1
@userpython 你可以按照这里的说明创建自定义比例尺:https://plotly.com/python/colorscales/ 滚动到“构建离散或不连续颜色比例尺”部分。 - Sarah Messer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接