python画地图代码,美赛建模

世界地图
话不多说,上代码,超级简单。这个题把国家分为三类,每种类型的国家涂上不同的颜色,cn是中国,但是涂色时发现台湾没涂上颜色,于是把tw加上
图片如下

代码如下:

import pygal.maps.worldworldmap_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(-110.,-60.,10.)
map.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10) # 绘制经线posi=pd.read_csv("D:\\data1.csv") # 读取数据
## 原始数据有3228组数据,我只选择了180个城市的数据
lat = np.array(posi["lat"][0:10])                        # 获取维度之维度值
lon = np.array(posi["lon"][0:10])                        # 获取经度值
pop = np.array(posi["pop"][0:10])    # 获取人口数,转化为numpy浮点型
size=(pop/np.max(pop))*1000     # 绘制散点图时图形的大小,如果之前pop不转换为浮点型会没有大小不一的效果
x,y = map(lon,lat)
map.scatter(x,y,s=size)     # 也可以使用Basemap的methord本身的scatter
#plt.title('America')plt.show()

从文件中读取数据,文件放在 D盘,文件内容如下,用wps表格编辑,另存为csv格式。

美国地图,不过瘾,再来一个

美国地图带颜色的

from __future__ import (absolute_import, division, print_function)import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from matplotlib.colors import rgb2hex, Normalize
from matplotlib.patches import Polygon
from matplotlib.colorbar import ColorbarBasefig, ax = plt.subplots()m = Basemap(llcrnrlon=-119,llcrnrlat=20,urcrnrlon=-64,urcrnrlat=49,projection='lcc',lat_1=33,lat_2=45,lon_0=-95)m_ = Basemap(llcrnrlon=-190,llcrnrlat=20,urcrnrlon=-143,urcrnrlat=46,projection='merc',lat_ts=20)  # do not change these numbersshp_info = m.readshapefile('st99_d00','states',drawbounds=True,linewidth=0.45,color='gray')
shp_info_ = m_.readshapefile('st99_d00','states',drawbounds=False)popdensity = {'New Jersey':  1,
'Rhode Island':   1,
'Massachusetts':   1,
'Connecticut':      1,
'Maryland':   1,
'New York':    1,
'Delaware':    1,
'Florida':     1,
'Ohio':    250,
'Pennsylvania':    300,
'Illinois':    1,
'California':  1,
'Hawaii':  1,
'Virginia':    50,
'Michigan':    1,
'Indiana':    1,
'North Carolina':  1,
'Georgia':     1,
'Tennessee':   1,
'New Hampshire':   1,
'South Carolina':  1,
'Louisiana':   1,
'Kentucky':   10,
'Wisconsin':  1,
'Washington':  1,
'Alabama':     1,
'Missouri':    1,
'Texas':   1,
'West Virginia':   200,
'Vermont':     1,
'Minnesota':  1,
'Mississippi':     1,
'Iowa':    1,
'Arkansas':    1,
'Oklahoma':    1,
'Arizona':     1,
'Colorado':    1,
'Maine':  1,
'Oregon':  1,
'Kansas':  1,
'Utah':    1,
'Nebraska':    1,
'Nevada':  1,
'Idaho':   1,
'New Mexico':  1,
'South Dakota':    1,
'North Dakota':    1,
'Montana':     1,
'Wyoming':      1,
'Alaska':     1}colors={}
statenames=[]
cmap = plt.cm.hot_r
vmin = 0;
vmax = 450
norm = Normalize(vmin=vmin, vmax=vmax)
for shapedict in m.states_info:statename = shapedict['NAME']if statename not in ['District of Columbia','Puerto Rico']:pop = popdensity[statename]colors[statename] = cmap(np.sqrt((pop-vmin)/(vmax-vmin)))[:3]statenames.append(statename)
for nshape,seg in enumerate(m.states):if statenames[nshape] not in ['Puerto Rico', 'District of Columbia']:color = rgb2hex(colors[statenames[nshape]])poly = Polygon(seg,facecolor=color,edgecolor=color)ax.add_patch(poly)AREA_1 = 0.005
AREA_2 = AREA_1 * 30.0
AK_SCALE = 0.19
HI_OFFSET_X = -1900000
HI_OFFSET_Y = 250000
AK_OFFSET_X = -250000
AK_OFFSET_Y = -750000for nshape, shapedict in enumerate(m_.states_info):if shapedict['NAME'] in ['Alaska', 'Hawaii']:seg = m_.states[int(shapedict['SHAPENUM'] - 1)]if shapedict['NAME'] == 'Hawaii' and float(shapedict['AREA']) > AREA_1:seg = [(x + HI_OFFSET_X, y + HI_OFFSET_Y) for x, y in seg]color = rgb2hex(colors[statenames[nshape]])elif shapedict['NAME'] == 'Alaska' and float(shapedict['AREA']) > AREA_2:seg = [(x*AK_SCALE + AK_OFFSET_X, y*AK_SCALE + AK_OFFSET_Y)\for x, y in seg]color = rgb2hex(colors[statenames[nshape]])poly = Polygon(seg, facecolor=color, edgecolor='gray', linewidth=.45)ax.add_patch(poly)light_gray = [0.8]*3  # define light gray color RGB
x1,y1 = m_([-190,-183,-180,-180,-175,-171,-171],[29,29,26,26,26,22,20])
x2,y2 = m_([-180,-180,-177],[26,23,20])  # these numbers are fine-tuned manually
m_.plot(x1,y1,color=light_gray,linewidth=0.8)  # do not change them drastically
m_.plot(x2,y2,color=light_gray,linewidth=0.8)ax_c = fig.add_axes([0.9, 0.1, 0.03, 0.8])
cb = ColorbarBase(ax_c,cmap=cmap,norm=norm,orientation='vertical',label=r'[population per $\mathregular{km^2}$]')plt.show()

当然,这种图片是根据州的形状涂颜色的,不能像上一张图一样定位一个点图颜色。这种图需要加载三个文件,是从GitHub上找的,百度网盘地址

https://pan.baidu.com/s/1gXh9kjeXLcgao8nV_bBsrg

下载完后将三个文件从文件夹中拿出来,跟代码放在同一个文件夹

python建模地图相关推荐

  1. 浙江农林大学python期末考试_基于Python的地图匹配最短路径法实现

    117 科学论坛 在智能交通领域,众所周知,智能 交通系统在当今世界道路交通网络的管 理中发挥着重要的作用,而车辆导航系 统又是智能交通系统的重要组成部分. 在车辆导航系统中,定位的精确性和实 时性是 ...

  2. 决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:

    决策树python建模中的坑 代码 #coding=utf-8 from sklearn.feature_extraction import DictVectorizerimport csvfrom ...

  3. python股票交易模型_如何用Python建模GGM模型并对股票估值?

    内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 首先我们快速了解一下什么是GGM模型. GGM模型又叫做"戈登增长模 ...

  4. python的坐标代码_基于Python的地图坐标服务接口调用代码实例

    代码描述:基于Python的地图坐标服务接口调用代码实例 关联数据:地图坐标服务 接口地址:http://www.juhe.cn/docs/api/id/32 #!/usr/bin/python # ...

  5. python建模 决策_决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:...

    决策树python建模中的坑 代码 #coding=utf-8 from sklearn.feature_extraction import DictVectorizer import csv fro ...

  6. 《利用Python进行数据分析·第2版》第13章 Python建模库介绍

    第1章 准备工作 第2章 Python语法基础,IPython和Jupyter 第3章 Python的数据结构.函数和文件 第4章 NumPy基础:数组和矢量计算 第5章 pandas入门 第6章 数 ...

  7. python高德地图可视化_【可视化】python地图可视化_Folium

    本文简单介绍python语言的地图可视化库Folium 效果图 能力概述 Python语言 地图可视化 可以换(高德)底图 有添加点线面和简单配色的功能 可以导出为html页 简介 Folium是Le ...

  8. Python数据分析学习系列 十三 Python建模库介绍

    Python数据分析学习系列 十三 Python建模库介绍 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 ...

  9. 【利用Python进行数据分析】13 - Python建模库介绍

    第十三章 Python建模库介绍 1.pandas与模型代码的接口 2.用Patsy创建模型描述 2.1.Patsy创建模型设计矩阵 2.2.用Patsy公式进行数据转换 2.3.分类数据和Patsy ...

  10. 第十三篇 Python建模库介绍

    前面已经介绍了Python数据分析的编程基础.数据分析师和科学家总是在数据规整和准备上花费⼤量时间,前面部分的重点在于掌握这些功能. 开发模型选⽤什么库取决于应⽤本身.许多统计问题可以⽤简单⽅法解决, ...

最新文章

  1. Koa实现下载excel
  2. c语言全局变量符号,C语言中的 @ 符号是什么意思?
  3. 深入浅出PHP&MySQL(影印版)
  4. ROS系统 C++或Python实现订阅者Subscriber
  5. sklearn中的交叉验证(Cross-Validation)
  6. 【机器学习】K-Means算法的原理流程、代码实现及优缺点
  7. socket c/s分佈式編程
  8. 计算机网络 --- 传输层UDP协议
  9. shell编程快速入门及实战
  10. SI和DI寄存器(0703)
  11. CSS缩小窗口时,背景图出现右侧空白
  12. 还在用tm?你OUT啦!
  13. 【路径规划】基于matlab GUI粒子群算法机器人路径规划动画演示(手动设障)【含Matlab源码 924期】
  14. spring扩展点一:BeanDefinitionRegistryPostProcessor在框架中的应用
  15. vray渲染器的工作流程你清楚吗?
  16. IAR软件调试延时时间
  17. MySQL卸载与安装
  18. 智能称重系统,车牌识别的优势
  19. 心跳检测,用oob实现
  20. 数字化觉醒时代:传统企业云原生技术体系建设之路(一)

热门文章

  1. 计算机二级报名省市,计算机二级报名通知:全国19省市报名时间及考试安排!...
  2. Android之ViewStub
  3. 008/160 CrackMe Andrénalin #1
  4. 风变编程,帮助你从零开始学习编程
  5. mysql条件触发器实例_mysql 触发器实例
  6. 计算机开启网络共享,一键开启共享_局域网win7访问xp_打开默认共享命令
  7. 电脑连接西门子S7-200CPU的步骤
  8. HiJson修改版,修改为按json字符串默认字段顺序格式化
  9. java 高斯投影_贡献高斯投影坐标与经纬度转换的java源码
  10. Java面试题日积月累(jsp/Servlet面试题20道)