Bagaimana Anda memplot kontur 3d dengan python?

Fungsi ini mengharuskan semua data masukan dalam bentuk kisi reguler dua dimensi, dengan data Z-nya dievaluasi di setiap titik

Contoh Plot Kontur 3D

Pada contoh di bawah ini, kita akan membuat plot kontur 3 dimensi untuk fungsi sinus. Cuplikan kode seperti yang diberikan di bawah ini

from mpl_toolkits import mplot3d 
import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib import cm 
import math 

x = [i for i in range(0, 200, 100)] 
y = [i for i in range(0, 200, 100)] 

X, Y = np.meshgrid(x, y) 
Z = [] 
for i in x: 
    t = [] 
    for j in y: 
        t.append(math.sin(math.sqrt(i*2+j*2))) 
    Z.append(t) 

fig = plt.figure() 
ax = plt.axes(projection='3d') 
ax.contour3D(X, Y, Z, 50, cmap=cm.cool) 
ax.set_xlabel('a') 
ax.set_ylabel('b') 
ax.set_zlabel('c') 
ax.set_title('3D contour Plot for sine') 
plt.show() 

Penjelasan fungsi-fungsi yang digunakan pada kode di atas adalah sebagai berikut

  • meshgrid

    Ini adalah fungsi pustaka NumPy yang digunakan untuk membuat kisi persegi panjang dari dua larik satu dimensi yang mewakili pengindeksan Cartesian atau Matrix

  • plt. sumbu()

    Fungsi ini digunakan untuk membuat objek dari Axes

  • kapak. kontur3D

    Fungsi ini digunakan untuk membuat kontur

  • kapak. set_xlabel

    Fungsi ini digunakan untuk mengatur label untuk sumbu x

  • kapak. set_title()

    Fungsi ini digunakan untuk memberikan judul pada Plot

Berikut ini akan menjadi output dari kode di atas

Bagaimana Anda memplot kontur 3d dengan python?

Ringkasan

Dalam tutorial terakhir, kami membahas plot Garis 3D dan plot pencar dan juga memperkenalkan Anda ke plot 3D di matplotlib. Dalam tutorial ini, kami membahas plot Kontur 3D di matplotlib

Plot kontur adalah teknik grafis untuk merepresentasikan permukaan 3 dimensi dengan memplot irisan z konstan, yang disebut kontur, pada format 2 dimensi. Artinya, diberi nilai z, garis ditarik untuk menghubungkan koordinat (x,y) di mana nilai z itu muncul

Untuk memahami cara memplot plot kontur 2D, lihat ini

Sekarang untuk memplot plot kontur 3D kita dapat menggunakan axes.contour3D

Menggunakan metode matplotlib.Axes.contour3D()_

Kita dapat memplot plot kontur 3D menggunakan objek sumbu matplotlib contour3D() metode. Berikut ini adalah sintaks -

Sintaks Dasar

Axes.contour3D(X, Y, Z, *args, extend3d=False, stride=5, zdir='z', offset=None, data=None, **kwargs)
_

Parameter

  • X, Y, Z. Memasukan data
  • memperpanjang3d. Apakah akan memperluas kontur dalam 3D

Untuk detail lebih lanjut tentang parameter lihat

Sekarang mari kita pahami metode di atas menggunakan beberapa contoh

Contoh 1

import numpy as np
import matplotlib.pyplot as plt
import math

x = [i for i in range(0, 200, 100)]
y = [i for i in range(0, 200, 100)]

X, Y = np.meshgrid(x, y)
Z = []
for i in x:
    t = []
    for j in y:
        t.append(math.cos(math.sqrt(i*2+j*2)))
    Z.append(t)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.contour3D(X, Y, Z,50)
plt.show()

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot kontur dalam 3D menggunakan metode
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0

Contoh 2

import numpy as np
import matplotlib.pyplot as plt
import math

x = [i for i in range(0, 200, 100)]
y = [i for i in range(0, 200, 100)]

X, Y = np.meshgrid(x, y)
Z = []
for i in x:
    t = []
    for j in y:
        t.append(math.tan(math.sqrt(i*2+j*2)))
    Z.append(t)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.contour3D(X, Y, Z,50)
plt.show()
_

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot kontur dalam 3D menggunakan metode
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0

Contoh 3

import numpy as np
import matplotlib.pyplot as plt
import math

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

x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 50)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.contour3D(X, Y, Z,50)
plt.show()
_

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot kontur dalam 3D menggunakan metode
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0

Contoh 4

Mari ubah tema plot kontur

import numpy as np
import matplotlib.pyplot as plt
import math

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

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.contour3D(X, Y, Z,50,cmap='binary')
plt.show()
_

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot kontur dalam 3D menggunakan metode
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0 dengan memodifikasi parameter cmap (lihat ini)

Contoh 5

Mari kita plot plot kontur di atas dengan sudut pandang yang dimodifikasi

import numpy as np
import matplotlib.pyplot as plt
import math

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

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.contour3D(X, Y, Z,50,cmap='binary')
ax.view_init(60, 35)
plt.show()

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot kontur dalam 3D menggunakan
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0
  • Ubah sudut pandang menggunakan
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    _5 (lihat )

Contoh 6

Plot kontur bersama dengan plot permukaan

import numpy as np
import matplotlib.pyplot as plt
import math

def f(x, y):
    return np.sin(np.pi*x) * np.sin(np.pi*y)

x = np.linspace(-1, 1, 30)
y = np.linspace(-1, 1, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')

ax.plot_surface(X, Y, Z, cmap="autumn_r", lw=0.5, rstride=1, cstride=1, alpha = 0.5)
ax.contour3D(X, Y, Z, cmap="binary")

plt.show()

Keluaran

Bagaimana Anda memplot kontur 3d dengan python?
Bagaimana Anda memplot kontur 3d dengan python?

Langkah-langkah yang diikuti dalam contoh di atas adalah

  • impor modul yang diperlukan
  • tentukan nilai x,y, dan z
  • menghasilkan figur pyplot dan menambahkan sumbu 3D
  • plot plot permukaan dalam 3D menggunakan
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    6 (refer )
  • plot plot kontur dalam 3D menggunakan
    import numpy as np
    import matplotlib.pyplot as plt
    import math
    
    x = [i for i in range(0, 200, 100)]
    y = [i for i in range(0, 200, 100)]
    
    X, Y = np.meshgrid(x, y)
    Z = []
    for i in x:
        t = []
        for j in y:
            t.append(math.cos(math.sqrt(i*2+j*2)))
        Z.append(t)
    
    fig = plt.figure()
    ax = plt.axes(projection='3d')
    
    ax.contour3D(X, Y, Z,50)
    plt.show()
    0

Anda mungkin juga tertarik pada –

  • Bagaimana cara merencanakan plot Quiver dengan Python?
  • Bagaimana Cara Membuat Peta Panas dengan Python?
  • Cara Membuat Plot Kontur di Matplotlib


Berlangganan buletin kami untuk panduan dan tutorial yang lebih informatif
Kami tidak melakukan spam dan Anda dapat memilih keluar kapan saja


Pengarang

  • Bagaimana Anda memplot kontur 3d dengan python?
    Bagaimana Anda memplot kontur 3d dengan python?

    Chaitanya Betha

    Saya seorang mahasiswa sarjana di IIT Madras yang tertarik untuk mengeksplorasi teknologi baru. Saya telah mengerjakan berbagai project yang berhubungan dengan Data science, Machine learning & Neural Networks, termasuk klasifikasi citra menggunakan Convolutional Neural Networks, Stock Prediction menggunakan Recurrent Neural Networks, dan masih banyak lagi pelatihan model machine learning. Saya menulis artikel blog di mana saya akan mencoba memberikan panduan lengkap tentang topik tertentu dan mencoba untuk mencakup sebanyak mungkin contoh berbeda dengan semua kasus tepi untuk memahami topik dengan lebih baik dan memiliki pandangan lengkap tentang topik tersebut

    Bagaimana Anda merencanakan plot kontur 3D dengan Python?

    Pemetaan Tiga Dimensi di Matplotlib .
    dari mpl_toolkits impor mplot3d
    %matplotlib inline import numpy sebagai np import matplotlib. pyplot sebagai plt
    gbr = plt. gambar() kapak = plt. .
    gbr = plt. gambar() kapak = plt. .
    kapak. view_init(60, 35) gbr. .
    gbr = plt. gambar() kapak = plt. .
    kapak = plt. kapak(proyeksi='3d') kapak. .
    teta = 2 * np. pi * np

    Bagaimana Anda membuat plot kontur 3D?

    Untuk memplot kontur 3D, kita akan menggunakan countour3() untuk memplot berbagai jenis modul 3D . Sintaksis. kontur3(X,Y,Z). Menentukan koordinat x dan y untuk nilai dalam Z. kontur3(Z). Membuat plot kontur 3-D yang berisi isoline matriks Z, di mana Z berisi nilai ketinggian pada bidang x-y.

    Bagaimana Anda memplot objek 3D dengan Python?

    Bagaimana Anda memplot titik 3D dengan Python? .
    Langkah 1. Impor perpustakaan. impor matplotlib. pyplot sebagai plt dari mpl_toolkits. mplot3d mengimpor Axes3D
    Langkah 2. Buat gambar dan sumbu. gbr = plt. angka(figsize=(4,4)) kapak = gbr. add_subplot(111, proyeksi='3d')
    Langkah 3. Plot intinya

    Bagaimana Anda merencanakan bidang 3D dengan Python?

    Atur ukuran gambar dan sesuaikan padding antara dan di sekitar subplot
    Buat titik data x dan y menggunakan numpy
    Menggunakan x dan y, temukan persamaan bidang (eq)
    Buat figur baru atau aktifkan figur yang sudah ada
    Dapatkan sumbu saat ini dengan proyeksi = '3d'
    Buat plot permukaan dengan titik data x, y, dan eq