在这个教程中,我们将学习如何使用 Plotly 创建交互式地图。Plotly 是一个强大的数据可视化库,它可以轻松地创建各种类型的图表,包括地图。

基本概念

  • GeoJSON: 用于描述地理空间数据的格式,Plotly 可以直接读取 GeoJSON 数据来创建地图。
  • Trace: Plotly 中的一种数据轨迹,用于表示地图上的数据点、多边形等。

创建一个基本的地图

首先,你需要安装 Plotly 库。你可以在命令行中使用以下命令安装:

pip install plotly

以下是一个创建基本地图的示例代码:

import plotly.express as px

# 加载 GeoJSON 数据
geo_data = px.data.world.geo_premier()

# 创建地图
fig = px.choropleth(geo_data, locations="iso_alpha", color="pop_2020",
                    projection="natural earth", color_continuous_scale="Viridis")
fig.show()

交互式功能

Plotly 地图支持多种交互式功能,例如:

  • 缩放和拖动: 用户可以缩放和拖动地图来查看不同区域。
  • 点击提示: 当用户点击地图上的数据点时,可以显示详细信息。

添加自定义图层

除了基本的地图功能,你还可以添加自定义图层,例如:

  • 标记: 在地图上添加标记来表示特定的地点。
  • 多边形: 在地图上绘制多边形来表示特定的区域。

代码示例

以下是一个添加自定义图层的代码示例:

fig = px.choropleth_mapbox(geo_data, locations="iso_alpha", color="pop_2020",
                           color_continuous_scale="Viridis", projection="natural earth",
                           mapbox_style="carto-positron", zoom=3, center={"lat": 37.0902, "lon": -95.7129},
                           opacity=0.5)

# 添加标记
fig.add_scattergeo(
    locations=["FR"],
    lon=[2.3522],
    lat=[48.8566],
    text=["巴黎"],
    marker_color="red",
    marker_symbol="circle",
    marker_size=10,
)

fig.show()

示例地图

更多关于 Plotly 地图的信息,请访问我们的Plotly 地图教程页面