有没有办法将国家/地区的两个字母字母代码显示在地图上?

Posted

技术标签:

【中文标题】有没有办法将国家/地区的两个字母字母代码显示在地图上?【英文标题】:Is there a way to take country two letter alpha codes and display them on a map? 【发布时间】:2021-02-18 15:27:40 【问题描述】:

我有一个数据框,其中包含国家名称和对应的值。我使用以下代码将国家/地区转换为代码:

import pycountry

input_countries = happiness_data["Country or region"]

countries = 
for country in pycountry.countries:
    countries[country.name] = country.alpha_2

codes = [countries.get(country, 'Unknown code') for country in input_countries]

print(codes)  

返回这个:

['FI', 'DK', 'NO', 'IS', 'NL', 'CH', 'SE', 'NZ', 'CA', 'AT', 'AU', 'CR', 'IL', 'LU', 'GB', 'IE', 'DE', 'BE', 'US', 'Unknown code', 'AE', 'MT', 'MX', 'FR', 'Unknown code', 'CL', 'GT', 'SA', 'QA', 'ES', 'PA', 'BR', 'UY', 'SG', 'SV', 'IT', 'BH', 'SK', 'Unknown code', 'PL', 'UZ', 'LT', 'CO', 'SI', 'NI', 'Unknown code', 'AR', 'RO', 'CY', 'EC', 'KW', 'TH', 'LV', 'Unknown code', 'EE', 'JM', 'MU', 'JP', 'HN', 'KZ', 'Unknown code', 'HU', 'PY', 'Unknown code', 'PE', 'PT', 'PK', 'Unknown code', 'PH', 'RS', 'Unknown code', 'LY', 'ME', 'TJ', 'HR', 'HK', 'DO', 'BA', 'TR', 'MY', 'BY', 'GR', 'MN', 'MK', 'NG', 'KG', 'TM', 'DZ', 'MA', 'AZ', 'LB', 'ID', 'CN', 'Unknown code', 'BT', 'CM', 'BG', 'GH', 'Unknown code', 'NP', 'JO', 'BJ', 'Unknown code', 'GA', 'Unknown code', 'ZA', 'AL', 'Unknown code', 'KH', 'Unknown code', 'SN', 'SO', 'NA', 'NE', 'BF', 'AM', 'Unknown code', 'GN', 'GE', 'GM', 'KE', 'MR', 'MZ', 'TN', 'BD', 'IQ', 'Unknown code', 'ML', 'SL', 'LK', 'MM', 'TD', 'UA', 'ET', 'Unknown code', 'UG', 'EG', 'ZM', 'TG', 'IN', 'LR', 'KM', 'MG', 'LS', 'BI', 'ZW', 'HT', 'BW', 'Unknown code', 'MW', 'YE', 'RW', 'Unknown code', 'AF', 'CF', 'SS']

我删除了所有未知代码,所以我只剩下已知代码。我想在地图上绘制这些代码,这样我就可以可视化我的数据来自哪里。有没有办法做到这一点?我尝试使用pygal 无济于事。

感谢您给我的任何帮助和/或建议。如果您想尝试一下,请随意复制该国家/地区列表并组成一些随机整数值,以查看您是否能够在地图上绘制与这些国家/地区标签对应的值。此外,如果我可以只使用带有值(即 (8))的国家名称(即“孟加拉国”)并据此在地图上绘制色调,那也可以。

非常感谢!

【问题讨论】:

【参考方案1】:

您可以使用 this list of countries, codes and coordinates 将您的 alpha_2 国家/地区代码映射到坐标,然后使用任何复杂的绘图库(例如 matplotlib and cartopy、matplotlib and geopandas 或 – 如果您希望地图具有交互性和/或用于网络——plotly and mapbox。

【讨论】:

正是我需要的。谢谢楼主!【参考方案2】:

看看 Plotly 和内置的国家和国家几何图形

https://plotly.com/python/choropleth-maps/

【讨论】:

好主意,但我承认,看了一会儿后我还是被难住了。

以上是关于有没有办法将国家/地区的两个字母字母代码显示在地图上?的主要内容,如果未能解决你的问题,请参考以下文章

WP 8.1 : 通过区域两个字母代码或国家数字代码获取县名

地图没有在3d.js中渲染

每个国家/地区的 CultureInfo 名称

我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序

如何在 ios 地图中突出显示国家/地区

如何使用地名服务 api 而不是 html5 位置对象的东西获取国家/地区代码信息