[Python] Basemap
參考:https://blog.csdn.net/sinat_18665801/article/details/82291067#1__15
附世界地圖:
# 該2行包括必要的basemap和matplotlib庫------世界地圖
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# plt.figure(figsize=(10,8))
# map = Basemap()
map=Basemap(
llcrnrlon=77,
llcrnrlat=14,
urcrnrlon=140,
urcrnrlat=51,
projection='lcc',
lat_1=33,
lat_2=45,
lon_0=100
)#中國地圖
map.drawcoastlines()#海岸線
map.drawcountries(linewidth=1.5)#國界線
map.readshapefile('gadm36_CHN_shp/gadm36_CHN_1', 'states', drawbounds=True)
plt.show()
plt.savefig('momo.png')
美國地圖及人口熱力圖
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 = Basemap(projection='stere',
# lat_0=0, lon_0=280,
# llcrnrlon=73.33,
# llcrnrlat=3.51,
# urcrnrlon=112.16,
# urcrnrlat=53.123)
# map=Basemap(
# llcrnrlon=77,
# llcrnrlat=14,
# urcrnrlon=140,
# urcrnrlat=51,
# projection='lcc',
# lat_1=33,
# lat_2=45,
# lon_0=100
# )#中國地圖
map.drawmapboundary() # 繪製邊界
#map.fillcontinents() # 填充大陸,發現填充之後無法顯示散點圖,應該是被覆蓋了
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("C:\\Users\\Downloads\\datasets-master\\2014_us_cities.csv") # 讀取資料
## 原始資料有3228組資料,我只選擇了180個城市的資料
lat = np.array(posi["lat"][1:1100]) # 獲取維度之維度值
lon = np.array(posi["lon"][1:1100]) # 獲取經度值
pop = np.array(posi["pop"][1:1100],dtype=float) # 獲取人口數,轉化為numpy浮點型
size=(pop/np.max(pop))*1000 # 繪製散點圖時圖形的大小,如果之前pop不轉換為浮點型會沒有大小不一的效果
x,y = map(lon,lat)
# plt.text(x, y, 'Lagos',fontsize=12,fontweight='bold',
# ha='left',va='bottom',color='k')
#
#
# x, y = map(lon[0], lat[0])
#
# plt.text(x, y, 'Barcelona',fontsize=12,fontweight='bold',
# ha='left',va='center',color='k',
# bbox=dict(facecolor='b', alpha=0.2))
#
# plt.scatter(x,y,s=size,cmap=cm.hsv,edgecolors=None,facecolors='c')
# plt.scatter(x,y,s=size,cmap=cm.hsv) # 使用matplotlib的散點圖繪製函式
map.scatter(x,y,s=size) # 也可以使用Basemap的methord本身的scatter
plt.title('Population distribution in America')
plt.show()
資料下載地址:https://github.com/plotly/datasets/blob/master/2014_us_cities.csv
相關文章
- python將tif投影轉換至basemapPython
- Python3中在Anaconda環境下 安裝basemap包Python
- 繪圖: matplotlib Basemap簡介繪圖
- 可以替代basemap的幾個工具
- 【python】python安裝Python
- python ----python的安裝Python
- python:python的多程式Python
- python--- 之The program 'python' can be found in the following packages: * python-minimal * python3PythonPackage
- Python IDLE和Python的區別!Python入門教程Python
- python學習之初識pythonPython
- 【Python】python類的繼承Python繼承
- Python 序列化(Python IO)Python
- Python合集之Python函式Python函式
- pythonPython
- python _Python
- python教程(一)·python環境搭建Python
- 學習Python的日子 Python(6)Python
- [python] Python型別提示總結Python型別
- Python補充02 Python小技巧Python
- 小白自學Python(一) -- Python教程Python
- Python之將Python字串生成PDFPython字串
- Python 字串格式化(Python IO)Python字串格式化
- Python 檔案讀寫(Python IO)Python
- 『python入門:』 python的介紹Python
- 與 Python 之父聊天:更快的 Python!Python
- python(python中的super函式、)Python函式
- python中#!/usr/bin/python與#!/usr/bin/env python的區別Python
- Python入門:Python 2與Python3有什麼區別?Python
- 學習Python選擇Python2還是Python3呢?Python
- Python學習筆記|Python之程式Python筆記
- Python 筆記-2-1-Python 概述Python筆記
- Python 微服務開發--Python Microservices DevelopmentPython微服務ROSdev
- python SQL基礎與python互動PythonSQL
- 「Python」Convert map object to numpy array in python 3PythonObject
- 【Python】阿里雲python sdk快速入門Python阿里
- Python - opencv-python 獲取影片尺寸PythonOpenCV
- Python基礎篇-Python基礎01Python
- Python基礎之Python資料世界Python