利用python繪制中國地圖(含省界、河流等)
我們可以使用Basemap這個(gè)工具包來實(shí)現(xiàn)中國地圖的繪制
首先需要加載一些包:
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap
Basemap包就是氣象畫圖的利器,現(xiàn)在我們就可以愉快的畫圖了!
plt.figure(1) map=Basemap() map.drawcoastlines() plt.title(r'$World\ Map$',fontsize=24) plt.show()
第2行創(chuàng)建一個(gè)地圖,第3行添加海岸線,這樣一個(gè)世界地圖就出來了,怎么樣,很簡單吧。(plt.show()這行代碼是用來顯示圖片的)
我們發(fā)現(xiàn)這只是海岸線圖,那么怎么將國界線添加上去呢?很簡單,只要添加一行代碼就可以了。
map.drawcountries()
那么怎么添加河流呢?可能有些同學(xué)已經(jīng)猜到了,就是drawrivers()
map.drawrivers(color='blue',linewidth=0.3)
好了,現(xiàn)在我們可以開始畫中國地圖了!
其實(shí)只要在創(chuàng)建地圖時(shí)指定一下范圍就可以了,查閱資料發(fā)現(xiàn),中國的經(jīng)緯度范圍是東經(jīng)135度2分30秒-東經(jīng)73度40分,北緯3度52分-北緯53度33分。
map=Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54)
好了,一個(gè)中國地圖就出來了!但是我們發(fā)現(xiàn),好像少了點(diǎn)什么,沒錯(cuò)就是省界。我們可以在https://gadm.org/download_country_v3.html下載中國大陸和臺灣省的行政區(qū)域的shape文件,下載后解壓,然后加入下面的代碼。
CHN='G:\python_material\MapOfChina'
CHN的值就是解壓后的地圖文件所在的地址。
下面我們就可以加入省界了!
map.readshapefile(CHN+'\gadm36_CHN_shp\gadm36_CHN_1', 'states',drawbounds=True)
別忘了把臺灣省加上去
map.readshapefile(CHN+'\gadm36_TWN_shp\gadm36_TWN_1', 'taiwan',drawbounds=True)
還可以在地圖上加上經(jīng)緯度,比如我們要畫5條經(jīng)緯線,可以這么做:
parallels = np.linspace(3,55,5) map.drawparallels(parallels,labels=[True,False,False,False]) meridians = np.linspace(70,140,5) map.drawmeridians(meridians,labels=[False,False,False,True])
大功告成!但是,emmm,我們發(fā)現(xiàn)好像有點(diǎn)歪?我們可以在創(chuàng)建地圖時(shí)選擇投影參數(shù)。
map=Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=137,urcrnrlat=54, projection = 'lcc', lat_1 = 33, lat_2 = 45, lon_0 = 100)
這回正式的完成了!
附上所有代碼:
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap plt.figure(1) map=Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54, projection = 'lcc', lat_1 = 33, lat_2 = 45, lon_0 = 100) map.drawcoastlines() map.drawcountries() map.drawrivers(color='blue',linewidth=0.3) CHN='G:\python_material\MapOfChina' map.readshapefile(CHN+'\gadm36_CHN_shp\gadm36_CHN_1', 'states',drawbounds=True) map.readshapefile(CHN+'\gadm36_TWN_shp\gadm36_TWN_1', 'taiwan',drawbounds=True) parallels = np.linspace(3,55,5) map.drawparallels(parallels,labels=[True,False,False,False]) meridians = np.linspace(70,140,5) map.drawmeridians(meridians,labels=[False,False,False,True]) plt.title(r'$China\ Map$',fontsize=24) plt.show()
以上就是利用python繪制中國地圖的詳細(xì)內(nèi)容,更多關(guān)于python 繪制地圖的資料請關(guān)注腳本之家其它相關(guān)文章!
- 詳解python 利用echarts畫地圖(熱力圖)(世界地圖,省市地圖,區(qū)縣地圖)
- python使用pyecharts庫畫地圖數(shù)據(jù)可視化的實(shí)現(xiàn)
- Python學(xué)習(xí)之用pygal畫世界地圖實(shí)例
- python實(shí)現(xiàn)Pyecharts實(shí)現(xiàn)動(dòng)態(tài)地圖(Map、Geo)
- 使用Python實(shí)現(xiàn)畫一個(gè)中國地圖
- python實(shí)現(xiàn)3D地圖可視化
- Python地圖繪制實(shí)操詳解
- 代碼分析Python地圖坐標(biāo)轉(zhuǎn)換
- 如何利用Python快速繪制海報(bào)級別地圖詳解
相關(guān)文章
python反編譯學(xué)習(xí)之字節(jié)碼詳解
這篇文章主要給大家介紹了關(guān)于python反編譯學(xué)習(xí)之字節(jié)碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05python檢測空間儲存剩余大小和指定文件夾內(nèi)存占用的實(shí)例
今天小編就為大家分享一篇python檢測空間儲存剩余大小和指定文件夾內(nèi)存占用的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python啟動(dòng)辦公軟件進(jìn)程(word、excel、ppt、以及wps的et、wps、wpp)
見如下源代碼,也可從附件中下載。2009-04-04Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作
這篇文章主要介紹了Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11淺析Python中g(shù)lobal和nonlocal關(guān)鍵字的妙用
這篇文章主要來和大家一起深入探討Python中關(guān)鍵詞global和nonlocal的用法,包括詳細(xì)的示例代碼和實(shí)際應(yīng)用場景,感興趣的可以了解下2024-04-04解決python錯(cuò)誤提示:TypeError: expected string or&nb
這篇文章主要介紹了解決python錯(cuò)誤提示:TypeError: expected string or bytes-lik問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01