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.
Kami boleh memasang pakej stabil terkini Matplotlib daripada PyPi dengan mudah dengan melaksanakan arahan berikut dalam arahan arahan.
pip install Matplotlib
Anda boleh memasang Matplotlib melalui conda menggunakan arahan berikut -
conda install -c conda-forge matplotlib
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)
Matplotlib menyediakan dua fungsi plt.contour dan plt.contourf untuk melukis plot kontur.
matplotlib.pyplot. Kaedah outline() digunakan untuk melukis garis outline. Ia mengembalikan QuadContourSet. Berikut ialah sintaks fungsi -
contour([X, Y,] Z, [levels], **kwargs)
[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.
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()
f(x,y) ditakrifkan menggunakan fungsi trigonometri numpy.
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()
z ialah hasil tambah punca kuasa dua nilai koordinat x dan y. Dilaksanakan menggunakan fungsi numpy.sqrt().
matplotlib.pyplot menyediakan kaedah contourf() untuk melukis kontur terisi. Berikut ialah sintaks fungsi -
contourf([X, Y,] Z, [levels], **kwargs)
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.
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()
Menggunakan kaedah fig.colorbar(), kami menambah warna pada plot. Fungsi z ialah hasil tambah punca kuasa dua bagi nilai koordinat x dan y.
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()
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!