首頁 >後端開發 >Python教學 >使用Python中的Plotly繪製等高線圖

使用Python中的Plotly繪製等高線圖

王林
王林轉載
2023-08-26 12:09:052152瀏覽

在Python中Plotly被稱為「plotly.py」。它是一個免費的開源繪圖庫,建立在「plotly.js」之上。它支援 40 多種獨特的圖表類型。該庫主要用於金融、地理、科學、3維和數據分析應用。

它可用於繪製各種類型的圖表和圖形,如散佈圖、線圖、長條圖、箱線圖、直方圖、圓餅圖、面積圖、箱線圖、直方圖、熱圖、子圖、多軸等.

情節安裝

在命令提示字元下執行以下命令來安裝plotly模組。這是從 PyPi 安裝最新的 Plotly 套件的簡單方法。

pip install plotly

等高線圖用於透過繪製常數 z 切片(稱為等高線)來視覺化二維表面中的三維資料。

它是在輪廓函數 (Z) 的幫助下繪製的,該函數是兩個輸入 X 和 Y(X 軸和 Y 軸座標)的函數。

Z = fun(x,y)

ploty模組提供了一個名為Contour的函數,用於繪製等高線圖。

輪廓()函數

plotly.graph_objects提供了一個方法contour()來繪製等高線圖。函數有50多個參數,這裡我們只討論幾個參數。

文法

plotly.graph_objects.Contour(z=None,x=None,y=None,arg=None,colorbar=None,hoverinfo=None,x=None,y=Non,**kwargs)

參數

  • z:預設情況下無,用於計算等高線(z 資料)的二維值清單。

  • x:x 座標,預設為 None。

  • y:y 座標,預設為 None。

使用二維數組作為 z 函數的等高線圖

使用二維數組作為 z 函數繪製等高線圖。

範例

在此範例中,我們將使用二維陣列繪製一個簡單的等高線圖。

import plotly.graph_objects as go
fig = go.Figure(data = go.Contour(z=[[4.3, 0.2],
   [-1.3, 0.9],
   [-0.32, 7.3],
   [4.6, 0.203]]))
fig.show()

輸出

使用Python中的Plotly繪製等高線圖

#這裡 4X2 陣列代表 z 函數。

帶有 X 和 Y 座標的等高線圖

使用 X 和 Y 座標以及 z 函數(二維數組)繪製等高線圖。

範例

在此範例中,我們將使用二維數組以及 X 和 Y 座標繪製等高線圖。

import plotly.graph_objects as go

fig = go.Figure(data = go.Contour(z=[[4.3, 9, 0.2],
   [-1.3, 2.3, 0.9],
   [-0.32, 7.3, 0.23],
   [4.6, 0.203, 0.34]],
   x=[-8, -3, -2,-1, 0.23], # horizontal axis 
   y=[0, 2, 5, 7, 3]# vertical axis
   ))
fig.show()

輸出

使用Python中的Plotly繪製等高線圖

#這裡的x和y座標分別代表水平軸和垂直軸。

使用 Numpy 繪製等高線圖

使用 numpy 繪製等高線圖,這裡我們將使用 numpy.meshgrid() 函數產生 X 和 Y 座標的陣列。

範例

z 函數將使用 numpy.sqrt() 函數計算 x 和 y 值的平方根總和。

import numpy as np
import plotly.graph_objects as go

xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)

# create a mesh
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)

trace = go.Contour(x = xlist, y = ylist, z = Z)
data = [trace]
fig = go.Figure(data)
fig.show()

輸出

使用Python中的Plotly繪製等高線圖

#有色階的等高線圖

色標是plotly.graph_objects.Contour()函式的參數,用來設定色標。

範例

我們舉個例子,將調色盤名稱字串「Earth」設定為 colorscale 參數。

import plotly.graph_objects as go
import numpy as np

def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)

xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)

# A mesh is created with the given co-ordinates by this numpy function
X, Y = np.meshgrid(xlist, ylist)
Z = f(X,Y)

fig = go.Figure(go.Contour(x = xlist, y = ylist, z = Z, colorscale='Earth'))
fig.show()

輸出

使用Python中的Plotly繪製等高線圖

#我們使用不同的 z 函數繪製了等高線圖。

以上是使用Python中的Plotly繪製等高線圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除