You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python绘制亚美尼亚的Choropleth地图?

亚美尼亚Choropleth地图绘制指南

1. 核心准备:地理边界数据替换

你之前绘制意大利地图的逻辑可以复用,核心差异是替换为亚美尼亚的11个地区地理数据:

  • 若用geopandas,可直接加载公开的亚美尼亚一级行政区GeoJSON/shapefile(比naturalearth_lowres的精度更高,能覆盖11个地区);
  • 若没有现成文件,可通过公开数据平台获取对应边界数据,确保每个地区的名称字段清晰可匹配。

2. 关键步骤:数据匹配与合并

你的统计数据必须和地理数据的地区名称完全对齐(注意大小写、语言差异,比如亚美尼亚地区名的英文/亚美尼亚文对应):

  • 若名称不一致,提前做映射转换,示例:
    name_mapping = {
        "埃里温": "Yerevan",
        "阿拉拉特州": "Ararat",
        # 补充其他地区的名称映射
    }
    data["region"] = data["region"].map(name_mapping)
    
  • 用merge方法将地理数据和统计数据按地区名称关联。

3. 完整代码示例(Geopandas + Matplotlib)

假设你的统计数据存为armenia_stats.csv,结构如下:

region,count
Yerevan,120
Armavir,85
Ararat,90
# 剩余8个地区数据...

代码实现:

import geopandas as gpd
import pandas as pd
import matplotlib.pyplot as plt

# 1. 加载亚美尼亚11地区地理边界数据
armenia_regions = gpd.read_file("armenia_regions.geojson")  # 替换为你的地理文件路径

# 2. 加载统计数据
stats_data = pd.read_csv("armenia_stats.csv")

# 3. 合并地理与统计数据
merged_data = armenia_regions.merge(stats_data, left_on="name", right_on="region", how="left")
# 处理缺失数据(若有)
merged_data["count"] = merged_data["count"].fillna(0)

# 4. 绘制地图
fig, ax = plt.subplots(figsize=(10, 8))
merged_data.plot(
    column="count",
    ax=ax,
    cmap="YlOrRd",
    edgecolor="#333333",
    legend=True,
    legend_kwds={"label": "数量统计", "orientation": "horizontal"}
)

# 样式调整
ax.set_title("亚美尼亚各地区数量统计地图", fontsize=14)
ax.set_axis_off()
plt.tight_layout()
plt.show()

4. 交互式地图实现(Plotly版本)

如果你之前用Plotly绘制意大利地图,可直接修改如下:

import plotly.express as px
import geopandas as gpd
import pandas as pd

armenia_regions = gpd.read_file("armenia_regions.geojson")
stats_data = pd.read_csv("armenia_stats.csv")
merged_data = armenia_regions.merge(stats_data, left_on="name", right_on="region")

fig = px.choropleth(
    merged_data,
    geojson=merged_data.geometry,
    locations=merged_data.index,
    color="count",
    hover_name="region",
    color_continuous_scale="YlOrRd",
    title="亚美尼亚各地区数量统计"
)

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

注意事项

  • 地理文件的name字段需和统计数据的region字段完全匹配,否则会出现数据关联失败;
  • 若地理数据缺失部分地区,需补充对应边界或调整统计数据的地区范围。

内容的提问来源于stack exchange,提问作者silent_hunter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:25:19