python画地图代码,美赛建模
世界地图
话不多说,上代码,超级简单。这个题把国家分为三类,每种类型的国家涂上不同的颜色,cn是中国,但是涂色时发现台湾没涂上颜色,于是把tw加上
图片如下
代码如下:
import pygal.maps.world
worldmap_chart = pygal.maps.world.World()
worldmap_chart.title = 'Some countries'
worldmap_chart.add('stable', ['ch', 'mv', 'cn','tw'])
worldmap_chart.add('vulnerable', ['ga', 'by', 'pe', 'iq', 'sy',
'mx', 'nz', 'ng', 'ca', 'no',
'dk', 'is', 'au', 'de'])
worldmap_chart.add('fragile', ['zw', 'af','sd','td'])
worldmap_chart.render_to_file('bar_chart.svg')
运行完后生成一个名为bar_chart.svg的文件,右键,复制路径(copy path),在浏览器中打开
美国地图
这个图是2019年美赛建模c题用到的图,五个州涂上颜色,从文件中读取数据根据数据确定圆圈大小。代码如下:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from matplotlib import cm
# 绘制基础地图,选择绘制的区域,因为是绘制美国地图,故选取如下经纬度,lat_0和lon_0是地图中心的维度和经度
map = Basemap(projection='stere',lat_0=90,lon_0=-105,\
llcrnrlat=23.41 ,urcrnrlat=45.44,\
llcrnrlon=-118.67,urcrnrlon=-64.52,\
rsphere=6371200.,resolution='l',area_thresh=10000)
map.drawmapboundary() # 绘制边界
map.drawstates()
map.drawcoastlines()
map.drawcountries()
map.drawcounties()
parallels = np.arange(0.,90,10.)
map.drawparallels(parallels,labels=[1,0,0,0],fontsize=10) # 绘制纬线
meridians = np.arange