在这个教程中,我们将学习如何使用 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 地图教程页面。