Lukis plot kontur menggunakan Python Matplotlib

WBOY
Lepaskan: 2023-08-30 19:05:01
ke hadapan
1618 orang telah melayarinya

Matplotlib ialah perpustakaan plot sumber terbuka dalam Python. Ia digunakan untuk mencipta grafik dan plot 2D dengan menggunakan skrip python. Untuk menggunakan fungsi matplotlib, kita perlu memasang perpustakaan terlebih dahulu.

Pasang menggunakan pip

Kami boleh memasang pakej stabil terkini Matplotlib daripada PyPi dengan mudah dengan melaksanakan arahan berikut dalam arahan arahan.

pip install Matplotlib
Salin selepas log masuk

Anda boleh memasang Matplotlib melalui conda menggunakan arahan berikut -

conda install -c conda-forge matplotlib
Salin selepas log masuk

Plot kontur digunakan untuk memvisualisasikan data tiga dimensi dalam permukaan dua dimensi dengan memplot keping-z tetap, dipanggil kontur.

Ia diplot dengan bantuan fungsi kontur (Z) iaitu fungsi dua input X dan Y (koordinat paksi X dan Y).

Z = fun(x,y)
Salin selepas log masuk

Matplotlib menyediakan dua fungsi plt.contour dan plt.contourf untuk melukis plot kontur.

kaedah kontur()

matplotlib.pyplot. Kaedah outline() digunakan untuk melukis garis outline. Ia mengembalikan QuadContourSet. Berikut ialah sintaks fungsi -

contour([X, Y,] Z, [levels], **kwargs)
Salin selepas log masuk

Parameter

  • [X,Y]: Parameter pilihan, menunjukkan koordinat nilai median Z.

  • Z: Nilai ketinggian garis besar yang dilukis.

  • paras: digunakan untuk menentukan bilangan dan lokasi garisan/rantau kontur.

Contoh

Mari kita ambil contoh melukis garisan kontur menggunakan fungsi trigonometri numpy.

import numpy as np
import matplotlib.pyplot as plt

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

xlist = np.linspace(-4.0, 4.0, 800)
ylist = np.linspace(-4.0, 4.0, 800)

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

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contour(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Contour Plot')

ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Salin selepas log masuk

Output

使用Python Matplotlib绘制等高线图

Fungsi

f(x,y) ditakrifkan menggunakan fungsi trigonometri numpy.

Contoh

Mari kita ambil contoh lain dan lukis garisan kontur.

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
    return np.sqrt(X**2 + Y**2)

xlist = np.linspace(-10, 10, 400)
ylist = np.linspace(-10, 10, 400)

# create a mesh 
X, Y = np.meshgrid(xlist, ylist)

Z = f(X, Y)

fig = plt.figure(figsize=(6,5))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contour(X, Y, Z)
ax.set_title('Contour Plot')
ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Salin selepas log masuk

Output

使用Python Matplotlib绘制等高线图

Fungsi

z ialah hasil tambah punca kuasa dua nilai koordinat x dan y. Dilaksanakan menggunakan fungsi numpy.sqrt().

fungsi kontur()

matplotlib.pyplot menyediakan kaedah contourf() untuk melukis kontur terisi. Berikut ialah sintaks fungsi -

contourf([X, Y,] Z, [levels], **kwargs)
Salin selepas log masuk

Di mana,

  • [X,Y]: Parameter pilihan, menunjukkan koordinat nilai median Z.

  • Z: Nilai ketinggian garis besar yang dilukis.

  • paras: digunakan untuk menentukan bilangan dan lokasi garisan/rantau kontur.

Contoh

Mari kita ambil contoh lain dan gunakan kaedah contourf() untuk melukis plot kontur.

import numpy as np
import matplotlib.pyplot as plt

xlist = np.linspace(-8, 8, 800)
ylist = np.linspace(-8, 8, 800)

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

fig = plt.figure(figsize=(6,5))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contourf(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Filled Contours Plot')
#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Salin selepas log masuk

Output

使用Python Matplotlib绘制等高线图

Menggunakan kaedah fig.colorbar(), kami menambah warna pada plot. Fungsi z ialah hasil tambah punca kuasa dua bagi nilai koordinat x dan y.

Contoh

Dalam contoh ini, kami akan memplot plot kontur kutub menggunakan kaedah matplotlib.plt.contourf().

import numpy as np
import matplotlib.pyplot as plt

a = np.radians(np.linspace(0, 360, 20))
b = np.arange(0, 70, 10)
 
Y, X = np.meshgrid(b, a)
values = np.random.random((a.size, b.size))
 
fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.set_title('Filled Contours Plot')
ax.contourf(X, Y, values)
 
plt.show()
Salin selepas log masuk

Output

使用Python Matplotlib绘制等高线图

Dalam semua contoh di atas, kami telah menggunakan fungsi numpy.meshgrid() untuk menjana tatasusunan koordinat X dan Y.

Atas ialah kandungan terperinci Lukis plot kontur menggunakan Python Matplotlib. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan