使用 Python 在中国地图上标注数字
在进行数据可视化时,地图是一种非常直观的表现形式。通过在地图上标注数据,可以使观众更容易理解信息。今天,我们将探讨如何在 Python 中为中国地图上的特定位置标注数字,使用库如 matplotlib 和 geopandas。
环境准备
在开始编码之前,我们需要安装相关的库。你可以使用以下命令安装它们:
pip install matplotlib geopandas
代码示例
以下是一个使用 Python 在中国地图上标注数字的简单示例。在此示例中,我们将标注一些城市及其人口数据。
import geopandas as gpd
import matplotlib.pyplot as plt
# 下载中国地图数据(shapefile)
# 注意:确保你已经下载了中国的 shapefile 数据,并指定正确的路径
china_map = gpd.read_file("path_to_china_shapefile.shp")
# 示例城市及其人口数据
cities = {'城市': ['北京', '上海', '广州', '深圳'],
'纬度': [39.9042, 31.2304, 23.1291, 22.547],
'经度': [116.4074, 121.4737, 113.2644, 114.061],
'人口(百万)': [21, 24, 15, 13]}
# 创建 DataFrame
import pandas as pd
cities_df = pd.DataFrame(cities)
# 绘制中国地图
fig, ax = plt.subplots(figsize=(10, 10))
china_map.plot(ax=ax, color='lightgrey')
# 在城市位置上标注
for index, row in cities_df.iterrows():
ax.annotate(s=row['人口(百万)'],
xy=(row['经度'], row['纬度']),
ha='center', fontsize=12, color='red')
# 设置标题和标签
plt.title("中国城市人口标注", fontsize=15)
plt.xlabel("经度")
plt.ylabel("纬度")
plt.grid()
plt.show()
这段代码首先加载了中国的地图数据,然后创建了一个包含城市及其人口的 DataFrame。最后,通过 annotate 方法在对应的城市位置标注数字。
旅行图示例
让我们使用 Mermaid 语法,展现一个简单的旅行图:
journey
title 旅行路径
section 北京
去往 上海: 5: 北京 -> 上海
section 上海
去往 广州: 4: 上海 -> 广州
section 广州
去往 深圳: 3: 广州 -> 深圳
甘特图示例
我们也可以使用甘特图来展示旅行计划的时间安排:
gantt
title 旅行计划
dateFormat YYYY-MM-DD
section 旅行
北京到上海: 2023-10-01, 3d
上海到广州: 2023-10-04, 2d
广州到深圳: 2023-10-06, 1d
结尾
通过上面的示例,我们可以看到如何利用 Python 在中国地图上标注城市的人口信息,同时使用 Mermaid 语法为我们的旅行计划创建可视化图形。这种方法不仅可以帮助我们更直观地呈现数据,也方便我们制定旅行计划。数据可视化是一个强大的工具,能够将复杂的数据以简单的方式展现出来。希望你能在未来的项目中灵活运用这些技巧,为你的数据故事增添更多的视觉冲击力!
















