Python繪圖筆記:繪製等高線圖和交叉區域圖

2021-01-08 ACGN漫步者

繪製等高線圖import numpy as np

import matplotlib as mplimport matplotlib.pyplot as plt#定義x,y兩個參數,並給出返回的公式,兩個*表示平方def process_signals(x,y):return (1-(x**2+y**2))*np.exp(-y**3/3)#np.arange()中第一個參數為起點,第二個參數為終點,第三個參數為步長x=np.arange(-1.5,1.5,0.1)y=np.arange(-1.5,1.5,0.1)#meshgrid的作用適用於生成網格型數據,可以接受兩個一維數組生成兩個二維矩陣,對應兩個數組中所有的(x,y)對X,Y=np.meshgrid(x,y)#可以理解為z=f(x,y),x和y為函數的兩個參數,z為函數的返回值,相同的z值連成的曲線就是等高線Z=process_signals(X,Y)#對N的取值範圍和步長進行設置N=np.arange(-1,1.5,0.1)#函數contour用來繪製等高線CS=plt.contour(Z,N,linewidths=2,cmap=mpl.cm.jet)#繪製等高線標籤,inline=True表示高度寫在等高線上plt.clabel(CS,inline=True,fmt='%1.1f',fontsize=10)#顯示顏色條plt.colorbar(CS)#繪製標題plt.title('My function:$z=(1-x^2+y^2)e^{-(y^3)/3}$')plt.show()

figure1

2.繪製圖表底層區域(1)

import numpy as npimport matplotlib.pyplot as pltfrom math import sqrt#生成從0到1000的一個序列t=range(1000)#對生成的值進行開根號計算y=[sqrt(i) for i in t]#繪製(t,y)曲線,顏色紅色,線寬plt.plot(t,y,color='red',lw=2)#填充曲線的下方區域plt.fill_between(t,y,color='darkblue')plt.show()

figure2

3.繪製圖表底層區域(2)

#導入繪圖所需要的包import matplotlib.pyplot as pltimport numpy as np#x值其實位置為0,終點位置為2,步長為0.1,並給出函數y1,y2的公式x=np.arange(0.0,2,0.1)y1=np.sin(np.pi*x)y2=1.7*np.sin(4*np.pi*x)#生成圖紙fig=plt.figure()#繪製二行一列圖中的子圖一axes1=fig.add_subplot(211)#繪製函數y1,y2的曲線圖像,顏色為灰色axes1.plot(x,y1,x,y2,color='grey')#設置填充區域,當y2<=y1時,填充區域的顏色為藍色,當y1<=y2時,填充區域的顏色為金色axes1.fill_between(x,y1,y2,where=y2<=y1,facecolor='blue',interpolate=True)axes1.fill_between(x,y1,y2,where=y1<=y2,facecolor='gold',interpolate=True)axes1.set_title('Blue where y2<=y1.Gold-color where y2>=y1.')#設置y值的上下限axes1.set_ylim(-2,2)#屏蔽數組中y2>1的值y2=np.ma.masked_greater(y2,1.0)#繪製二行一列圖中的子圖二,共享子圖一中的x軸axes2=fig.add_subplot(212,sharex=axes1)axes2.plot(x,y1,x,y2,color='black')axes2.fill_between(x,y1,y2,where=y2<=y1,facecolor='green',interpolate=True)axes2.fill_between(x,y1,y2,where=y1<=y2,facecolor='deeppink',interpolate=True)axes2.set_title('Same as above,but mask')axes2.set_ylim(-2,2)#繪製網格線axes2.grid('on')plt.show()

figure3

相關焦點

  • Python繪圖筆記:繪製四色散點圖和誤差條形圖
    figure1#導入繪製散點圖所需要的包import matplotlib.pyplot as pltfrom numpy.random import rand#生成繪圖所需的圖紙fig, ax = plt.subplots
  • Python繪圖筆記:繪製有趨勢線的直方圖、小提琴圖和誤差圖
    1.小提琴圖和箱線圖#同時繪製箱線圖和小提琴圖,箱線圖清楚地展示了所繪製的數據集中的四分位數和離群點#小提琴圖則清晰展示了數據集中的分布情況import matplotlib.pyplot as pltimport numpy as np
  • OriginPro:如何獲取Contour圖的自定義邊界【數據繪圖】
    對於等高線圖(),其邊界默認是根據源數據經過計算後得到的,往往不是實際需要的邊界。比如下面這個例子,美國一月份的平均氣溫分布圖。左圖是以,看不出來美國地圖的輪廓;右圖是,一眼就認出是美國的地圖。
  • 使用腳本繪製吸附勢能面
    下面的文獻裡DOI:10.1063/1.4901055有一張圖非常生動,講的分別是Li在Li(001)以及Mg在Mg(0001)表面的吸附勢能分布,我們不僅可以知道哪些位置有利於吸附,還可以根據吸附能分布,描繪出分子在表面的擴散路徑,這有助於我們使用NEB方法算擴散能壘。其實思路很簡單,就是將表面網格化,算分子在格點的吸附能,再畫出等高線圖。
  • python學習筆記:快速繪圖和3D柱狀圖
    快速繪圖#首先載入 matplotlib 的繪圖模塊 pyplot ,並且命名為 plt。( label )和樣式的矩形區域plt.legend()plt.show()#下面的程序將當前的圖表保存為 test . pn g,並且通過 dpi 參數指定圖像的解析度為120,# 因此輸出圖像的寬度為8*120 = 960個像素。
  • Python數據可視化之高速繪圖神器PyQtGraph庫,強烈建議收藏
    但是這些繪圖庫也存在著不足,即在圖形繪製速度上有所欠缺,特別是對於科研算法方面的數據可視化,很多情況需要實時繪圖,要求能夠提供儘可能快的繪製刷新速度,那這些庫顯的有些力不從心了。而我們下面要介紹的繪圖庫-PyQtGraph庫,則在繪圖速度方面表現尤其突出,在不失繪圖美觀、功能強大的前提下,在繪圖速度方面作了極大的優化,特別適合於實時數據採集的動態圖形繪製場合。
  • python學習筆記:同時畫多圖,折線圖,箱線圖,條形圖,柱狀圖等
    1.同時畫六張圖#從Matplotlib中導入了pyplot繪圖模塊from matplotlib.pyplot import *#設置相關的數值x=[1,2,3,4]y=[5,4,3,2]#創建一個圖紙(figure)figure()#使用subplot創建多個子圖,下面的subplot(2,3,1)表示創建一個包含2行3列圖表的圖紙,1表示第一張圖subplot
  • Python學習第90課-數據可視化之散點圖繪製
    【每天幾分鐘,從零入門python編程的世界!】今天我們學習散點圖,在統計學或者機器學習方面,或者在金融風險控制方面,金融風險控制經常要看異常交易、信貸風險,做這樣的分析就要用到一個圖--散點圖(scatter plot)。
  • python的繪圖利器--海龜繪圖turtle
    作為你學習python的第一個程序,樹哥決定直接來一個實戰乾貨程序:利用海龜turtle來畫一個奧運五環。這樣就既可以理解庫的概念和使用,又可以理解程序的基本概念。這個語句是個固定格式,有這句話畫完圖,繪圖窗口還保留,如果沒有這句話,繪圖窗口就直接關閉了,所以初期都加上就好了。下面,我們就進入正題:公共設置公共設置的第一條import turtleimport是導入,turtle是海龜繪圖庫,所以這句話就是導入海龜會圖庫的意思,記住就可以了。
  • Python學習筆記:繪製極坐標圖和散點圖的繪製與保存
    1.簡單極坐標圖#導入繪製極圖所需要的包import matplotlib.pyplot as pltimport numpy as np#設置下面所需要的參數barSlices = 12#theta指每個標記所在射線與極徑的夾角,下面表示均分角度theta = np.linspace(0.0
  • OpenCV-Python 直方圖-1:查找、繪製和分析|二十六
    目標學會使用OpenCV和Numpy函數查找直方圖使用OpenCV和Matplotlib函數繪製直方圖你將看到以下函數:cv.calcHist(),np.histogram(請記住,此直方圖是針對灰度圖像而非彩色圖像繪製的)。直方圖的左側區域顯示圖像中較暗像素的數量,而右側區域則顯示明亮像素的數量。從直方圖中,您可以看到暗區域多於亮區域,而中間調的數量(中間值的像素值,例如127附近)則非常少。尋找直方圖現在我們有了一個關於直方圖的想法,我們可以研究如何找到它。OpenCV和Numpy都為此內置了功能。
  • python學習筆記:繪製風杆圖、箱線圖和簡單填充圖
    繪製風杆圖import matplotlib.pyplot as pltimport numpy as np#使用numpy生成不同的x和y樣本數組,x=np.linspace(start,stop,樣本數量)x=np.linspace(-20,20,8)y=np.linspace(0,20,8)#numpy的meshgrid(x,y)函數將創建出一個二維坐標網絡,觀測數據將在網格特定坐標上採樣
  • 如何用matplotlib繪圖呢?
    使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。
  • Excel繪圖系列:雷達圖繪製
    之前,我們的推文中講過用R繪製雷達圖,很多小夥伴可能覺得輸入代碼麻煩。那麼,不妨試試用Excel來繪圖。首先,我們準備一組數據,如下圖所示接著,我們選中上面給出的兩行數據,在菜單欄中選擇插入,點擊「推薦的圖表」,如下圖所示然後,我們在彈出的頁面選擇所有圖表,選擇雷達圖成功繪製出雷達圖想要更改一些設置(如名稱
  • 億圖圖示符號庫教程:學會電路圖繪製與電子元件布局
    一張電路圖通常有幾十乃至幾百個元器件,它們的連線縱橫交叉,形式變化多端,初學者往往不知道該從什麼地方開始。下面小編就給大家介紹一個十分好用的繪圖工具,讓你輕鬆繪製出專業的電路圖。 首先,需到網上查找億圖圖示,然後下載安裝。 然後打開億圖圖示軟體,滑鼠單擊「新建」-「工程」-「基本電路」,然後點擊右側面板中的「創建」。
  • 使用biopython可視化染色體和基因元件
    在biopython中,通過BiolGraphics子模塊可以對基因組結構進行可視化,支持線性和圈圖兩種可視化方式。最後進行繪圖即可,代碼如下 輸出結果如下
  • Python學習筆記:隨機漫步圖和三翼面圖
    __init__(self,num_points=50000): self.num_points=num_points#創建了兩個用於存儲 x 和 y 值的列表,並讓每次漫步都從點 (0, 0) 出發。
  • 學生繪製的生物繪圖
    學生繪製的生物繪圖,雖然與「生物繪圖方法」的要求有很大差距,但是還有很多優點的。歡迎留言,提出建議。
  • python學習筆記:矢量場流線圖和氣溫圖
    int(row[3]) except ValueError: print(current_date,'missing data') else: dates.append(current_date) highs.append(high) lows.append(low)#設置圖紙的解析度和圖紙大小
  • 未明學院:Python可視化庫Matplotlib繪圖入門詳解
    每個 Matplotlib.pyplot 中的函數會對當前的圖像進行一些修改,例如:產生新的圖像,在圖像中產生新的繪圖區域,在繪圖區域中畫線,給繪圖加上標記,等等…… Matplotlib.pyplot 會自動記住當前的圖像和繪圖區域,因此這些函數會直接作用在當前的圖像上。