日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态

發布時間:2025/3/12 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:使用Python、Geopandas和Matplotlib制作gif動態

不需要Photoshop:僅使用Python和命令行制作動畫圖表。

作為一種編程語言,Python非常靈活。這使得有時可以在幾行代碼中進行大量不同的可視化成為可能。但是現在有了很多不同的圖表網站和軟件,為什么還要編寫代碼?我們不能只使用相關網站的GUI上傳數據,調整范圍,點擊導出png圖片結果嗎?

是,當然可以。有時,如果您需要快速的制作一次性圖表或地圖,這是最佳選擇。但是當你需要制作大量的地圖時,使用Python的強大功能會產生更好的結果。

本文將介紹如何創建一個能隨時間數據變化的動畫gif地圖。最重要的是,本教程將從頭到尾僅使用Python和一些命令行工具,無需在Photoshop或其他軟件中進行任何操作。

正如上面所說,本文的方法在具體工作中也許并不是最佳的方法,但如果考慮到制圖的速度、可重復性和一致性,我認為這是一個很好的方法。

為什么選擇GIF地圖?

在過去幾年中,gif圖表似乎已經在社交媒體上大受歡迎。像“金融時報”和“經濟學人”這樣的出版商花費了更多的時間來精簡和完善他們的數據產品,以便于在Twitter和Instagram等平臺上更好地展示信息。也許更重要的是,gif圖表允許在靜態圖表顯示的基礎上創建一個新的數據維度。

Gif動圖在數據可視化中的應用場景:

通過注釋或突出顯示來引導用戶瀏覽同一圖表中最重要的點

通過比較顯示兩個不同的圖表

顯示相同的圖表隨時間的變化(這是我們要做的)

該清單并非詳盡無遺,用例也在不斷擴大,可以說動態圖表既炫酷又實用(正確使用時)。

下面讓我們來開始制作。

如何制作一個gif動態地圖

這是您應該開始的:

加載shapefile(地圖文件)

加載要顯示的csv數據文件

融合這兩個類型的數據

繪制地圖并設計樣式

現在,我們將使用Python中for()循環的強大功能,將多個不同時期的數據展示在相同的地圖上。因為我們想要顯示隨時間的變化,我們需要確保我們的數據包含年份作為變量。為便于標記,我們確保數據的每個列標題都是年份數字(即不同年的數據分別放在不同列)。

為了遍歷每列的數據,我們需要一個字符串列表來調用每列的名稱。讓我們創建一個列表變量,其中包含每列的年份(格式化為字符串)。我們還設置一個輸出路徑,以便將每年的數據地圖保存到一個文件夾中。

最后,在創建地圖之前,我們要為vmin和max值設置一致的全局變量。這將設置顏色范圍的值。如果你事先沒有設置它,Matplotlib將在每次for循環迭代時改變等值區的范圍,因此很難看出值隨時間的增加或減少的方式。

寫for循環

for()循環使用起來相當簡單,for()循環中語法意思大概如下:

對于list_of_years列表中的每一年,運行以下代碼。

當我們列表中的所有年份都通過代碼時,停止循環。

如果您運行此代碼并打開剛剛設置的輸出路徑文件夾,您應該會看到許多地圖,每個地圖的顏色略有不同,代表不同年份的數據。您可能會想:一旦做成地圖動畫,我們將如何知道年份的變化?

我們可以在底部設置一個簡單的日期范圍(2007-2015),但for()循環可以為我們提供更好的解決方案。由于我們已經將每列的年份保存為變量中的字符串,因此我們可以為每個地圖添加不同的注釋(對應于數據的年份)。

根據我們的for()循環,變量'year'將是每次for循環運行的列的年份。使用這個邏輯,我們可以插入'year'作為fig.annotate()參數的變量。

現在,每次for循環運行時,不同的年份將作為注釋插入到地圖上。使用相同的邏輯,我們也可以將文件名設置為每年開始,這樣就很容易找到每年對應的地圖。在for()循環中添加此代碼將添加年份注釋。

重新運行代碼,您的地圖會替換為新地圖,每個地圖的左下角都有年份注釋。如果你從上到下翻閱地圖,你就可以了解到你的gif會是什么樣子。

制作GIF

我們在進行GIF制作之前,要將我們得到的所有png格式的地圖圖片,轉化為jpg格式,圖片格式轉化有多種方法,下面舉了一個在python中利用opencv(cv2)進行圖片格式轉化的例子,僅供參考。

接下來我們可以開始制作GIF動態地圖了,有很多方法可以制作GIF動圖,我們使用的是ImageMagick,原因有以下幾點:

它相對容易安裝和設置

它允許您在一行代碼中設置轉換時間,裁剪大小和文件格式

它超級快

ImageMagick的文檔非常詳盡。如果您尚未安裝它,請查看其官方文檔頁面。

首先檢查您是否正確安裝了ImageMagick:

在命令行中輸入并運行:

convert –version

如果已成功安裝了ImageMagick,將顯示包含版本和版權聲明的消息。在系統上安裝ImageMagick后,轉到包含我們剛制作的所有地圖的目錄。現在我們需要運行一行代碼來創建我們的gif。這行代碼的作用如下:

convert:獲取所有這些文件并進行更改

-delay 60:設置每個圖像在進入下一個圖像之間經過的時間

-loop 0:設置無限循環

插入將要轉換的所有文件名

my_map.gif

這是在終端中使用的代碼:

現在看看自動創建的新文件“new_map_normal.gif”,你看到的圖像應該如下:

使用gif地圖可以成為深入分析數據的一個很好的切入點。 此外,您可以將任何具有時間序列數據的圖表轉換為gif動圖 - 我們這里只是選擇了地圖,因為它看起來更炫酷。

如果您有任何疑問,歡迎與我交流,后面會在評論區給出源碼鏈接。返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩免 | 69视频在线观看免费 | 日本中文字幕在线看 | 久久网站av| 亚洲欧洲在线播放 | 国产综合激情 | 男女拍拍拍 | 天天色天天插 | 台湾佬综合网 | 91精品国产高清一区二区三蜜臀 | 麻豆影视大全 | 在线观看香蕉视频 | 韩国一区二区在线播放 | www.香蕉视频在线观看 | 国产在线观看99 | 男女日批在线观看 | 狠狠操在线视频 | 性做久久久久久久久 | 波多野吉衣一区 | 日日久| 91天天综合 | 欧美巨大另类极品videosbest | 精品国产aⅴ一区二区三区东京热 | 蜜桃av一区二区三区 | 欧美视频一区二区 | 91精品看片 | 日韩成人一区二区三区 | 久久一区二区视频 | 伊人网综合视频 | 国产精选一区二区三区 | 亚洲人成电影在线播放 | 黄色网页免费观看 | 人人做 | 999精品国产| 久久亚洲天堂网 | 熟女少妇一区二区三区 | 欧美最猛黑人xxxx黑人猛交 | 青草草在线观看 | 成人动漫一区二区三区 | 欧美亚洲中文精品字幕 | 制服丝袜国产在线 | 日韩理论在线观看 | 亚洲人丰满奶水 | 精品播放 | 中文字幕高清 | 精品国产一区二区三区在线 | 一区二区高潮 | 九九精品在线观看 | 中国女人内谢69xxxxⅹ视频 | 91激情在线观看 | www.午夜视频 | 久久精品国产成人av | 美女啪啪免费视频 | 成人亚洲网站 | 色婷婷综合久久久久中文一区二区 | 人妻少妇精品无码专区二区 | 国产综合亚洲精品一区二 | 天堂精品视频 | 综合第一页 | h片免费网站 | 国产真实生活伦对白 | 亚洲AV无码国产精品国产剧情 | 亚洲色在线视频 | 韩国一区视频 | 国产精品ⅴa有声小说 | 黄色肉肉视频 | jizzjizz8| 韩国一二三区 | 日本三级韩国三级美三级91 | 国产精品第八页 | 激情第四色 | 日韩免费一区二区三区 | 国产成人无遮挡在线视频 | 国产精品一区二区麻豆 | 中文字幕人乱码中文字 | av电影在线播放 | 欧洲精品一区 | 精品视频无码一区二区三区 | 国产天堂资源 | 女人下部全棵看视频 | 欧洲亚洲一区二区 | 男女视频在线 | 毛片美女 | 亲嘴扒胸摸屁股激烈网站 | 老司机伊人 | 久久性生活视频 | 六月婷婷在线 | 日韩在线www | 国产小视频免费在线观看 | 99久久国产综合 | 欧美日韩一区二区不卡 | 福利网站在线观看 | 国产老肥熟 | 在线免费看黄 | 亚洲精品一区二区口爆 | 双性懵懂美人被强制调教 | 午夜视频免费 | 中文av一区二区三区 | 中出视频在线观看 |