环境描述
win11
jupyter notebook
目标效果
世界地图+按数据进行分级着色;最终效果图如下:
pyecharts 绘制地图时注意点
可以实现目标地图绘制效果的python库很多,这里用的是pyecharts,具体可百度。
- 最终结果如何以图片形式输出
这个库默认输出的是.html文件显示最终图像,不利于写文章使用,因此我这里用了snapshot_phantomjs包来进行png图片输出。
注意:文件名以及路径不要出现中文,否则可能带来不必要麻烦。 - 各个国家及其对应英文名:见文章最后。
代码实现
# 需要引用的库
from pyecharts import options as opts
from pyecharts.charts import Map
import random
#保存png图片
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
# 由于pyecharts默认输出类型为html文件在网页显示,
# 如果直接在网页中复制图片或者截图的话清晰度会非常差,如果想直接保存为png图片的话可以配置snapshot
#数据设置
count = [
['Russia', 9],
['China', 16],
['United States', 32],
['India', 12],
['Canada', 32],
['France', 12],
['Brazil', 2]
]
c=Map()
c.add(
series_name="文章数",
data_pair=count,
maptype="world",
)
# 全局配置项
c.set_global_opts(
# 设置标题
title_opts=opts.TitleOpts(title="世界地图"),
# 设置标准显示
visualmap_opts=opts.VisualMapOpts(max_=40, is_piecewise=False),
)
# 系列配置项
c.set_series_opts(
# 标签名称显示,默认为True
label_opts=opts.LabelOpts(is_show=False, color="blue")
)
#存为图片
make_snapshot(snapshot,c.render(), "map.png"pixel_ratio=1)
# pixel_ratio设置为1,输出图片较小
国家名称中英文对照表(pyecharts)
英文 中文
Zimbabwe 津巴布韦
Zambia 赞比亚
Yugoslavia 南斯拉夫
Yemen 也门
Western Sahara 西撒哈拉
Wallis and Futuna 瓦利斯群岛和富图纳群岛
W. Sahara 西撒哈拉
Vietnam 越南
Venezuela 委内瑞拉
Vanuatu 瓦努阿图
Uzbekistan 乌兹别克斯坦
Uruguay 乌拉圭
United States 美国
United Kingdom 英国
United Arab Emirates 阿拉伯联合酋长国
United Arab Emirates 阿联酋
Ukraine 乌克兰
Uganda 乌干达
Tuvalu 图瓦卢
Turkmenistan 土库曼斯坦
Turkey 土耳其
Tunisia 突尼斯
Trinidad and Tobago 特立尼达和多巴哥
Tonga 汤加
Tokelau 托克劳
Togo 多哥
Timor-Leste 东帝汶
The Bahamas 巴哈马
Thailand 泰国
Tanzania 坦桑尼亚
Tajikistan 塔吉克斯坦
Syria 叙利亚
Switzerland 瑞士
Sweden 瑞典
Swaziland 斯威士兰
Suriname 苏里南
Sudan 苏丹
Sri Lanka 斯里兰卡
Spain 西班牙
South Africa 南非
Somalia 索马里
Solomon Islands 所罗门群岛
Slovenia 斯洛文尼亚
Slovakia 斯洛伐克
Singapore Rep. 新加坡
Singapore 新加坡
Sierra Leone 塞拉利昂
Siachen Glacier 锡亚琴冰川
Seychelles 塞舌尔
Serbia 塞尔维亚
Senegal 塞内加尔
Saudi Arabia 沙特阿拉伯
Sao Tome and Principe 圣多美和普林西比
San Marino 圣马力诺
Samoa 萨摩亚
Saint Vincent and the Grenadines 圣文森特和格林纳丁斯
Saint Lucia 圣卢西亚
Saint Kitts-Nevis 圣基茨和尼维斯
Saint Helena 圣赫勒拿
S.Sudan 南苏丹
Rwanda 卢旺达
Russian Federation 俄罗斯联邦
Russia 俄罗斯
Romania 罗马尼亚
Reunion 留尼汪岛
Qatar 卡塔尔
Puerto Rico 波多黎各
Portugal 葡萄牙
Poland 波兰
Pitcairn Islands 皮特凯恩群岛
Philippines 菲律宾
Peru 秘鲁
Paraguay 巴拉圭
Papua New Guinea 巴布亚新几内亚
Panama 巴拿马
Palestine 巴勒斯坦
Palau 帕劳
Pakistan 巴基斯坦
Oman 阿曼
Norway 挪威
Norfolk Island 诺福克岛
Niue 纽埃
Nigeria 尼日利亚
Niger 尼日尔
Nicaragua 尼加拉瓜
New Zealand 新西兰
New Caledonia 新喀里多尼亚
Netherlands 荷兰
Nepal 尼泊尔
Nauru 瑙鲁
Namibia 纳米比亚
N. Cyprus 北塞浦路斯
Myanmar 缅甸
Mozambique 莫桑比克
Morocco 摩洛哥
Montserrat 蒙特塞拉特
Montenegro 黑山
Mongolia 蒙古
Monaco 摩纳哥
Moldova 摩尔多瓦
Micronesia 密克罗尼西亚
Mexico 墨西哥
Mayotte 马约特
Mauritius 毛里求斯
Mauritania 毛里塔尼亚
Martinique 马提尼克岛
Marshall Islands 马绍尔群岛
Malta 马耳他
Mali 马里
Maldives 马尔代夫
Malaysia 马来西亚
Malawi 马拉维
Madagascar 马达加斯加
Macedonia 马其顿
Luxembourg 卢森堡
Lithuania 立陶宛
Liechtenstein 列支敦士登
Libya 利比亚
Liberia 利比里亚
Lesotho 莱索托
Lebanon 黎巴嫩
Latvia 拉脱维亚
Laos 老挝
Kyrgyzstan 吉尔吉斯斯坦
Kuwait 科威特
Kosovo 科索沃
Korea (South) 韩国
Korea (North) 朝鲜
Korea 韩国
Kiribati 基里巴斯
Kenya 肯尼亚
Kazakstan 哈萨克斯坦
Jordan 约旦
Jersey 泽西岛
Japan 日本
Japan 日本本土
Jamaica 牙买加
Ivory Coast 象牙海岸
Italy 意大利
Israel 以色列
Isle of Man 马恩岛
Ireland 爱尔兰
Iraq 伊拉克
Iran 伊朗
Indonesia 印度尼西亚
India 印度
Iceland 冰岛
Hungary 匈牙利
Honduras 洪都拉斯
Haiti 海地
Guyana 圭亚那
Guinea-Bissau 几内亚比绍
Guinea Bissau 几内亚比绍
Guinea 几内亚
Guernsey 根西岛
Guatemala 危地马拉
Guam 关岛
Guadeloupe 瓜德罗普岛
Grenada 格林纳达
Greece 希腊
Gibraltar 直布罗陀
Ghana 加纳
Germany 德国
Georgia 格鲁吉亚
Gambia 冈比亚
Gabon 加蓬
French Southern and Antarctic Lands 法属南半球和南极领地
French Polynesia 法属波利尼西亚
French Guiana 法属圭亚那
Franch Metropolitan 法国大都会
Franch Guiana 法属圭亚那
France 法国
Finland 芬兰
Fiji 斐济
Faroe Islands 法罗群岛
Ethiopia 埃塞俄比亚
Estonia 爱沙尼亚
Eritrea 厄立特里亚
Equatorial Guinea 赤道几内亚
Eq. Guinea 赤道几内亚
El Salvador 萨尔瓦多
Egypt 埃及
Ecuador 厄瓜多尔
East Timor 东帝汶
Dominican Rep. 多米尼加
Dominica 多米尼加
Djibouti 吉布提
Djibouti 吉布提
Denmark 丹麦
Denmark 丹麦
Dem. Rep. Korea 朝鲜
Dem. Rep. Congo 刚果民主共和国
Czech Rep. 捷克
Czech 捷克
Cyprus 塞浦路斯
Cyprus 塞浦路斯
Cuba 古巴
Cuba 古巴
Croatia 克罗地亚
Croatia 克罗地亚
Côted Ivoire 科特迪瓦
Cote D'Ivoire 科特迪瓦
Costa Rica 哥斯达黎加
Costa Rica 哥斯达黎加
Cook Islands 库克群岛
Congo (Congo-Kinshasa) 刚果(金)
Congo 刚果
Comoros 科摩罗
Colombia 哥伦比亚
Cocos (keeling) Islands 科科斯(基林)群岛
Christmas Islands 圣诞岛
China 中国
Chile 智利
Chad 乍得
Central African Republic 中非
Central African Rep. 中非
Cape Verde 佛得角
Canada 加拿大
Cameroon 喀麦隆
Cambodia 柬埔寨
Burundi 布隆迪
Burkina Faso 布基纳法索
Bulgaria 保加利亚
Brunei 文莱
Brazil 巴西
Br. Indian Ocean Ter. 英属印度洋领土
Bouvet Island 布维岛
Botswana 博茨瓦纳
Bosnia and Herzegovina 波斯尼亚和黑塞哥维那
Bosnia and Herz. 波斯尼亚和黑塞哥维那
Bolivia 玻利维亚
Bhutan 不丹
Bermuda 百慕大
Benin 贝宁
Belize 伯利兹
Belgium 比利时
Belarus 白俄罗斯
Barbados 巴巴多斯
Bangladesh 孟加拉
Bahrain 巴林
Bahamas 巴哈马
Azerbaijan 阿塞拜疆
Austria 奥地利
Australia 澳大利亚
Aruba 阿鲁巴
Armenia 亚美尼亚
Argentina 阿根廷
Antigua and Barbuda 安提瓜和巴布达
Anguilla 安圭拉
Angola 安哥拉
Andorra 安道尔
American Samoa 美属萨摩亚
Algeria 阿尔及利亚
Albania 阿尔巴尼亚
Aland Islands 奥兰群岛
Afghanistan 阿富汗
参考:
https://www.cnblogs.com/mashukui/p/16294592.html