使用matplotlib繪製等值線圖

2021-01-07 一起學python

等值線圖

等值線圖或等高線圖在科學界很常用。這種可視化方法用由一圈圈封閉的曲線組成的等值線圖表示三維結構的表面,其中封閉的曲線表示的是一個個處於同一層級或z值相同的數據點。

雖然等值線圖看上去結構很複雜,其實用matplotlib實現起來並不難。首先,你需要用z=f(x,y)函數生成三維結構。然後,定義x、y的取值範圍,確定要顯示的區域。之後使用f(x,y)函數計算每一對(x,y)所對應的z值,得到一個z值矩陣。最後,用contour( )函數生成三維結構表面的等值線圖。定義顏色表,為等值線圖添加不同的顏色,效果往往會更好;也就是說,用漸變色填充由等值線劃分成的區域。如下所示,用逐漸加深的藍色陰影表示負值,而隨著數值的增大,則逐漸該用黃色甚至紅色。

標準的漸變色組合(顏色表)如上所示,在實際應用中,要從多種顏色中選定你需要的顏色,把它賦給cmap關鍵字參數。

此外,如若使用等值線圖,在該圖的一側增加圖例作為對圖表中所用顏色的說明幾乎是必需的。在代碼的最後增加colorbar( )函數即可實現該功能。下面我們將展示的圖表會用另外一種顏色表,先是由黑色過渡到紅色,再過渡到黃色,最後最大值使用白色。這種彩圖中,cmap參數為plt.cm.hot。

極區圖

另外一種取得了一定成功的高級圖表是極區圖。這種圖表由一系列呈放射狀延伸的區域組成,其中每塊區域佔據了一定的角度。因此若要用極區圖表示兩個不同的數值,分別指定它們在極區圖中所佔的分量;每塊區域的半徑r和它所佔的角度,其實這就是極坐標(r,θ),是在坐標軸系中表示數據的另一種方法。從圖表的角度來看,你可以將其視作兼有餅圖和條狀圖特點的圖表。之所以說它像餅圖,是因為每個區域的角度所表示的是其所屬類別佔全部類別的比例。至於說它像條狀圖,是因為半徑的長度表示某一類別的數值大小。

到目前為止,我們一直使用標準顏色集,每種顏色用單一字符顏色編碼來表示(例如,r代表紅色)。事實上。你可以自定義任意的顏色列表,方法是指定顏色列表,其中每個元素為字符串類型的RGB編碼,其格式為#rrggbb。

奇怪的是,製作極區圖需要使用bar( )函數,把角度θ列表和半徑列表傳遞給它。你講得到如下所示的極圖:

這個例子中,我們定義了一列#rrggbb格式的顏色值,其實還可以用顏色的實際名稱來表示顏色。

mplot3d

mplot3d工具集是matplotlib內置的標配,可用來實現3D可視化功能。如果生成的圖形在單獨的窗口顯示,你還可以用滑鼠旋轉三維圖形的軸進行查看。

mplot3d仍然使用Figure對象,只不過Axes對象要替換為該工具集的Axes3D對象。因此,使用Axes3D對象前,需要先將其導入進來。

from mpl_toolkits.mplot3d import Axes3D

下面一節我們將具體介紹實現3D可視化功能的例子。

相關焦點

  • 一圖看懂箱線圖,順便帶你鞏固matplotlib繪圖流程!
    今天本文就通過下面這張圖簡單講一下箱線圖沒錯,這張圖也是用matplotlib一點一點的繪製出來的,所以順便鞏固一下matplotlib繪圖的綜合應用。箱線圖怎麼看?下面早起手把手教你如何繪製這樣一張圖,鞏固matplotlib繪圖知識!
  • matplotlib庫繪製折線圖、子圖及條形圖
    前面幾節我們學習了python中numpy和pandas庫的一些常用操作,接下來幾個章節,我們學習一個非常重要的數據可視化庫matplotlib(seaborn庫也有有所涉及)。這裡我們需要知道,matplotlib庫主要繪製一些2D圖形和簡單的3D圖形。
  • python matplotlib模塊
    導入模塊導入matplotlib的子模塊import matplotlib.pyplot as pltimport numpy as np2.面向對象畫圖matplotlib API包含有三層,Artist層處理所有的高層結構,例如處理圖表、文字和曲線等的繪製和布局。通常我們只和Artist打交道,而不需要關心底層的繪製細節。
  • Python中使用matplotlib繪製灰度直方圖
    灰度直方圖在數據統計分析、圖像處理中有著比較廣泛的應用,下面就介紹一下如何在Python中使用matplotlib來繪製灰度直方圖。
  • 如何用matplotlib繪圖呢?
    什麼是matplotlib?使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。最適合來運行matplotlib繪圖的工具是jupyter notebook,本教程也是基於該工具做實驗。這是一種交互式筆記本,在瀏覽器上運行代碼,能直接顯示運行結果和圖表,詳情可見jupyter notebook介紹。哪些圖表可以用matplotlib繪製呢?
  • Matplotlib 中等高線圖(contour)的繪製
    前言在此前的文章裡,我們介紹了 Numpy 中 meshgrid 函數的應用,並提到了等高線圖的使用。
  • 動態曲線圖(linechart)--Matplotlib繪製
    繪製動態曲線圖較動態氣泡圖而言,繪製過程較為簡單,主要就是折線圖和散點圖的配合使用,其他的就是圖表屬性的定製化設置了,個人能力有限,發現錯誤的同學可以留言告知啊(1) https://www.gapminder.org/tools/#$chart-type=linechart(2) https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html?
  • 使用Matplotlib繪製堆積條形圖
    在本文中,我們將探討如何使用Python的Matplotlib構建這些可視化圖形。我將使用一個簡單的數據集來保存全球的遊戲副本的銷售數據(雖然這個數據集已經過時,但它適合我們的示例)。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('../data/vgsales.csv')df.head()我們接下來要將平臺和地區的銷售情況可視化。
  • matplotlib的Python數據可視化和探索——入門指南
    matplotlib——最受歡迎的Python庫,用於數據可視化和探索我喜歡在Python中使用matplotlib。這是我學會掌握的第一個可視化庫,此後一直存在。matplotlib是最受歡迎的用於數據可視化和探索的Python庫,這是有原因的——它提供的靈活性和敏捷性是無與倫比的!
  • matplotlib繪製數學函數
    本文作者:錢夢璇文字編輯:錢夢璇在以往的推文中,我們詳細介紹了pyecharts庫的畫圖方法,本篇採用的matplotlib
  • python使用matplotlib畫動態圖
    matplotlib是python的核心繪圖庫,是python的一個開源項目,旨在為python提供一個繪圖庫。matplotlib與numpy組合是一種可行的matlab替代方案。在可視化中matplotlib是最常使用的工具,是對數據整體判斷、效果預測不可或缺的重要模塊。
  • 一文學會用Python繪製經典的棉棒圖、箱線圖和誤差棒圖
    這幾天一直在和大家聊Python數據可視化相關的東東,其中呢,介紹最多的當然是matplotlib庫中的各種繪製函數啦,上次已經和大家談論了關於Python中如何繪製氣泡圖等漂亮圖表的方式,今天呢,咱們繼續聊哦,今天呢,咱們就來聊聊如何繪製經典的棉棒圖、箱線圖和誤差棒圖
  • 從零開始學Python【16】--matplotlib(雷達圖)
    (含爬蟲代碼)從零開始學Python【15】--matplotlib(散點圖)從零開始學Python【14】--matplotlib(折線圖)從零開始學Python【13】--matplotlib(直方圖)從零開始學Python【12】--matplotlib(箱線圖)從零開始學Python
  • Python-matplotlib 學術柱狀圖繪製
    黑灰顏色或者黑白陰影的柱狀圖或者條形圖,下面就具體介紹使用Python-matplotlib 的實現過程。matplotlib繪製這種柱狀圖或者條形圖還是比較簡單的,主要涉及的知識點就是ax.bar()方法的應用,首先進行黑灰顏色柱狀圖的繪製,具體代碼如下:plt.rcParams['font.family'] = ['Times New Roman']fig,ax = plt.subplots(1,1,figsize=(7,4.5),dpi=200
  • 從零開始學Python【13】--matplotlib(直方圖)
    前言       在上一期的Python繪圖系列中,我們仔細的講解了如何繪製數值型變量的箱線圖,展現數據的分布
  • matplotlib如何實現圖形繪製在tkinter的Canvas中?
    matplotlib如何實現圖形繪製在tkinter的Canvas中?今天番茄加速就來分享一下。下面就是最重要的tkinter和matplotlib集成部分,matplotlib提供FigureCanvasTkAgg對象,只需三行代碼,實現圖形繪製在tkinter的Canvas中:canvas_l = FigureCanvasTkAgg(figure_l, frame_l)# 用draw代替canvas_l.draw()canvas_l.get_tk_widget
  • Matplotlib 數據可視化基本操作
    object at 0x000002165E3221C8>, <matplotlib.lines.Line2D object at 0x000002165E322048>, <matplotlib.lines.Line2D object at 0x0000021660DFDC08>, <matplotlib.lines.Line2D
  • Python-matplotlib: 散點圖的繪製
    本期推文的主要內容是散點圖的繪製教程,
  • Python matplotlib基礎繪圖函數示例
    >繪製散點圖,其中,x和y長度相同plt.step(x,y,where)繪製步階圖plt.hist(x,bins,normed)繪製直方圖plt.contour(X,Y,Z,N)繪製等值圖plt.vlines()繪製垂直圖plt.stem(x,y,linefmt,markerfmt
  • [神奇的Python可視化]在Matplotlib上面繪製圖片標記
    所謂的天下苦matplotlib散點圖符號久矣……眾所周知的是matplotlib的散點圖符號是固定的,如下所示:markertype含義當然,matplotlib還支持LaTeX 符號,也就是用來寫數學公式的符號,比如:但是總感覺還是不夠的樣子,比如我們要在圖上顯示機場,更希望的是用下面這樣的圖標:如果用matplotlib默認的圖標繪製的效果應該是這樣的:那麼我們用上面那個機場圖標