Python|| proplot 中國地圖白化繪製

2021-03-02 R for data

看過很多大佬繪製過中國地圖,有R-ggplot[1]的,也有python-geopandas[2]等,還有其他cartopy等的作圖包,我就不一一舉例了,今天我用python的proplot這個包,這個包的簡介可以參考連結proplot[3],主要的知識點如下:
* cartopy繪製中國地圖
* ax.inset添加南海子圖

導入需要的包

import osimport numpy as npimport xarray as xrimport proplot as plotimport cartopy.crs as ccrsfrom cartopy.io.shapereader import Readerimport maskoutshp_path = 'D:/China_shp'


導入數據
* 以歷史氣溫數據為例(historical)

ds = xr.open_dataset('*historical*.nc')tas = ds['tas'][75] tas -= 273.15lon = ds.lonlat = ds.latlon_range = lon[(lon > 70) & (lon < 140)]lat_range = lat[(lat > 0) & (lat < 60)]tas_region = tas.sel(lon=lon_range, lat=lat_range)
levels = plot.arange(-5,30,5)

主圖

fig, axs = plot.subplots(width=6,proj=ccrs.PlateCarree())
ax = axs[0]m = ax.contourf(tas_region,  cmap='CoolWarm',  levels=levels,  extend='both') con_mask = maskout.shp2clip(m, ax, r'E:\maskout\country1.shp', ['China'])
ax.add_geometries(Reader(os.path.join(shp_path, 'bou2_4l.shp')).geometries(), ccrs.PlateCarree(), facecolor='none', edgecolor='black', linewidth=0.5)ax.format( coast=False, labels=True, borders=False, latlim=(10, 60), lonlim=(70, 140), lonlines=10, latlines=10,)


添加南海子圖

iax = ax.inset([0.83,0,0.175,0.3]) 
n = iax.contourf(tas_region,                  cmap='CoolWarm',                 levels=levels,                  extend='both')con_mask = maskout.shp2clip(n, iax, r'E:\maskout\country1.shp', ['China'])
iax.add_geometries(Reader(os.path.join(shp_path, 'bou2_4l.shp')).geometries(), ccrs.PlateCarree(), facecolor='none', edgecolor='black', linewidth=0.5)
iax.format( coast=False, labels=False, borders=False, latlim=(0, 26), lonlim=(105, 125), lonlines=10, latlines=10,)
fig.colorbar(m, loc='r')

出圖



總結

Proplot這個包太強大了,在這裡我就不一一細說了,本人也是新手初學哈哈!共同學習,那就這樣吧!(時間緊,任務重/奮鬥臉),寫這個就當是拋磚引玉吧!新手初學,難免有錯誤,希望大家多多指教!

引用

[1] https://mp.weixin.qq.com/s?__biz=MzA5ODk0NjA1Mg==&mid=2247487028&idx=1&sn=24c7d04cbd4377ca4eb30129813f306f&scene=21#wechat_redirect

[2] https://mp.weixin.qq.com/s/YD88bNk4msg_IMXSuerXAg

[3] https://proplot.readthedocs.io/en/latest/

相關焦點

  • 介紹 5種 繪製炫酷的地圖方法
    ,pyecharts 就是很多 python 愛好者喜愛的實現地圖可視化方法之一。不可否認,pyecharts 繪製的地圖實現方便、圖形美觀而且支持交互,但在面對不同需求時,其實我們還有很多其他手段實現地圖可視化。本文主要是介紹了多種實現地圖可視化的方法,並對其繪製方式進行簡單介紹和對比。主要包括以下方式:python愛好者實現地圖可視化時的首選庫莫過於pyecharts,是一個用於生成 Echarts 圖表的類庫,實現起來非常簡單,做出的圖表也很美觀。
  • 一日一技:Python中使用gmplot模塊繪製地圖
    安裝成功代碼演示:import gmplot # 導入模塊gmap1 = gmplot.GoogleMapPlotter(30.3164945, 78.03219179999999, 13 ) #傳入經緯度的參數gmap1.draw( "C:\\Users\\user\\Desktop\\map11.html" ) #絕對路徑,繪出地圖樣貌
  • 科普|在中國古代,是怎麼繪製地圖的?
    導 讀中國自古領土就十分廣闊,少則幾百萬平方公裡,多則上千萬平方公裡。山川河流眾多,地形地貌複雜多樣。那麼古代的先民在沒有任何現代科技的幫助下,是如何繪製地圖的呢?目前,中國考古發現的最早地圖是在戰國時期繪製的,它們於1986年在甘肅省天水市天茂海灘秦墓出土,共有7幅地圖,但7幅地圖主要是秦國的山區河流。目前存世的最早的全國地圖主要是《禹跡圖》和《華夷圖》。
  • python 基於opencv 繪製圖像輪廓
    這篇文章主要介紹了python 基於opencv 繪製圖像輪廓的示例,幫助大家更好的利用python的opencv庫處理圖像,感興趣的朋友可以了解下
  • 在中國早期,人們繪製出世界地圖是什麼樣子?
    在沒有衛星環繞,無法以上帝視角洞察萬物的時代,繪製世界地圖似乎是一件不可能的事情。然而,長期引領世界,並建立了中華朝貢體系的古中國,在一千二百多年前就開始了世界地圖的繪製。如果說《海內華夷圖》對域外諸國粗略的描繪源於對世界認知的缺乏,那麼這幅在對西方有一定了解的基礎上繪製而成的世界地圖,則完全體現了"中國居於大地中央,為天下,天下之外四海島嶼所居之人為夷狄"的古代世界觀,是一副非常傳統的中國式世界地圖。
  • 德國總理默克爾送給中國的繪製於1735年的中國地圖
    2014年3月底,德國總理默克爾在宴請到訪的中國領導人時,贈送了一幅繪製於1735年的「中國地圖」,默克爾稱:「這是德國繪製的第一幅精確的中國地圖。」 二:關於此地圖背後的法國製圖師及法國漢學家: 雖然,默克爾總理所說「這是德國繪製的第一幅精確的中國地圖」或許是正確的,但沒有任何資料表明,上述兩位德國的傑出人士曾經來到過中國,而製作此圖的「源信息」,正如哈斯在標題中所述:來自法國皇家地圖師唐維爾及法國漢學家——杜赫德——的大作。
  • 快來看看這個Python繪圖工具包吧
    最後還是不是希望只精通一個Python繪圖包就可以把二維、空間等類型圖表繪製方法都掌握??此外,還有好多無奈和吐槽,我不知道你們是不是這樣?反正以上列出的幾點就是我在使用matplotlib自定義繪製圖表時最大的感觸了,當然,本期推文不是來吐槽的,是來為大家提供好的解決方法的。下面就介紹下今天的主角-- ProPlot。說真的!當我剛開始發現這個包時:「嗯?
  • 日本為何敢打中國?看完日本繪製的中國地圖,你就明白了
    其實原因很簡單,你看完日本繪製的「中國地圖」,你就明白了。 那個時候清朝實行閉關鎖國,活在自己的世界中洋洋自得,當初有人提出繪製國家地圖的時候,清政府的官員們連撥款都不願意。而在這個時候,日本已經發行了有關中國版圖的書籍。
  • 手把手|如何用Python繪製JS地圖?
    用Python處理數據,然後用Folium將它在Leaflet地圖上進行可視化。 概念 Folium能夠將通過Python處理後的數據輕鬆地在交互式的Leaflet地圖上進行可視化展示。它不單單可以在地圖上展示數據的分布圖,還可以使用Vincent/Vega在地圖上加以標記。
  • 當年日本為何敢打中國?看看日軍繪製的中國地圖,一目了然!
    眾所周知,日本只是一個島國,不管是自然資源還是人口數量等方面,日本都是無法和中國相提並論的。並且日本在歷史上還曾是中國的藩屬國,有很多文化習慣都是從我國傳到日本的,也是靠著我國的保護,日本才得以生存下來。那麼既然如此,為何當年日本還敢打中國呢?
  • 中國人繪製的第一張世界地圖在河北省被發現
    中新社石家莊一月十一日電一張最早由中國人繪製的世界地圖最近在河北省會石家莊市被公之於眾。專家認為,這一發現對研究中國地圖和世界地圖發展史具有重要價值。  據介紹,新發現的這張世界地圖是清朝官員葉子佩(字圭綬)於道光二十五年(一八四五年)十月下旬繪製的,鹹豐辛亥(一八五一年)重刻,地圖邊緣有「萬國大地全圖」的篆書名稱。
  • 看看日軍繪製的中國地圖,一目了然
    在古代中國從未把日本看在眼裡,在閉關鎖國政策下,中國並未跟上第一次工業革命的步伐,儘管如此明清時期也僅把日本認為是「流寇」構不成任何威脅。但是,原本以為構不成威脅的日本,在近代卻屢屢侵犯中國,而且屢屢成功,這是為何?古代時期,日本長期從中國學習先進文化,對於中國的實力相對了解。
  • Python畫地圖逃不過的basemap包「完全安裝手冊」
    01python虐我千百遍,我待python如初戀Python需要跳過的安裝的坑太太太太多了!!!!!前段時間看《利用python進行數據分析》這本書,到可視化的部分,看著最後的例子地圖挺酷炫的,跟著敲代碼的過程中,發現有時候不是你不會寫,是壓根都沒機會實現代碼!!!
  • Python繪製世界地圖,塗個顏色放個國家~這都不是事兒
    首先:我們需要安裝Jupyter和Python,其次我們需要安裝一個關鍵的模塊Basemap,這個模塊不同於我們平常的模塊,通過pip install Basemap,這會報錯我們需要進入:https://www.lfd.uci.edu/~gohlke/pythonlibs/,進行下載,點進網址後摁下ctrl+F然後輸入Basemap,你就會找到需要的模塊進行下載
  • 手把手教你用Python快速構建疫情分布地圖
    支付寶製作的疫情可視化地圖,相信大家每天都會刷上好多遍。主要步驟如下:1、使用爬蟲獲取疫情信息;2、對疫情數據做分析與處理;3、繪製中國疫情地圖並保存;4、使用谷歌瀏覽器自動化展示;5、繪製世界疫情地圖並展示。
  • 避免繪製「問題地圖」!廣西上線海量標準地圖供公眾免費下載使用
    今年全國測繪法宣傳日暨國家版圖意識宣傳周的主題為「規範使用地圖 一點都不能錯」。細心的市民可能會注意到,在標準的中國地圖上,會特別標註一些島嶼,即使這些島嶼在地圖上僅是一個小點,實際面積也很小。這些不起眼的小點能否隨意去掉?答案是「一點都不能錯」。地圖是表達國家版圖的最主要形式,代表一個國家行使主權的疆域。
  • Python學習筆記:繪製虛線圖和認識線的類型
    1.自己設定的虛線圖import numpy as npimport matplotlib.pyplot as plt#x軸數值區間是0到10,800個點x=np.linspace(0,10,800)#設置接下來將要繪製的曲線的點參數# 20個點出現,5個點隱藏,50個點出現,20個點隱藏(感覺可以設置自己想要的虛線)dashes=[20,5,50,20]#繪製圖紙
  • 美國人繪製的清朝地圖 韓國直接被劃入中國版圖
    美國人繪製的清朝地圖 韓國直接被劃入中國版圖 這是1760年美國出版的清朝地圖,對比於現在的中國地圖,大家會發現這張地圖多了外蒙古、以及東北北部的大片領土,最讓人無法理解的是,美國竟然把現在的朝鮮和韓國劃入中國的版圖。 這到底是怎麼回事呢?
  • 中國人在繪製超級大地圖(中英雙語)
    當時,南極洲、北冰洋、阿拉斯加、夏威夷都沒有被人類發現,但墨卡託投影法已在地圖繪製中普及,經緯線構織成網格,投射在圓柱面上,極大提升人類探索未知世界的方向感。果然,此後半個世紀,英國海軍軍官詹姆斯·庫克船長發現了上述佔地球表面1/4面積的疆域,為「日不落帝國」的締造做出巨大貢獻。每天上班,推開門的第一瞬間,我都會看到這幅地圖。
  • 全球海底地圖繪製完成近20%
    【新華社微特稿】在一個繪製海底地圖的國際合作項目努力下,地球海底19%的地圖已經繪製。據路透社報導,「海底2030」的項目研究人員21日說,全球海底19%的地圖已經繪製,高於一年前15%的水平。慈善機構日本財團和非營利的「大洋地勢圖」組織2017年發起「海底2030」項目時,全球海底只有6%有地圖。項目負責人傑米·麥克麥可-菲利普斯說:「今天的水平是19%,意味著我們還有81%的海洋要測量、要繪圖。這個區域是火星(表面)的兩倍大,我們要在未來10年內完成。」