Bagaimana Anda memplot sumbu 3d dengan python?

Setiap Ilmuwan Data harus tahu cara membuat visualisasi data yang efektif. Tanpa visualisasi, Anda akan terjebak mencoba menghitung angka dan membayangkan ribuan titik data di kepala Anda

Selain itu, ini juga merupakan alat penting untuk berkomunikasi secara efektif dengan pemegang saham bisnis non-teknis yang akan lebih mudah memahami hasil Anda dengan gambar daripada hanya kata-kata.

Sebagian besar tutorial visualisasi data di luar sana menunjukkan hal-hal dasar yang sama. plot sebar, plot garis, plot kotak, diagram batang, dan peta panas. Ini semua luar biasa untuk mendapatkan wawasan tingkat tinggi yang cepat ke dalam kumpulan data

Tetapi bagaimana jika kita melangkah lebih jauh. Plot 2D hanya dapat menampilkan hubungan antara satu pasang sumbu x-y; . x-y, x-z, dan y-z

Pada artikel ini, saya akan memberi Anda pengenalan yang mudah ke dalam dunia visualisasi data 3D menggunakan Matplotlib. Pada akhirnya, Anda akan dapat menambahkan plot 3D ke kit alat Ilmu Data Anda

Tepat sebelum kita masuk, lihat Buletin Cerdas AI untuk membaca yang terbaru dan terhebat tentang AI, Pembelajaran Mesin, dan Ilmu Data

Sebaran 3D dan Plot Garis

Plot 3D di Matplotlib dimulai dengan mengaktifkan toolkit utilitas. Kami dapat mengaktifkan toolkit ini dengan mengimpor pustaka mplot3d, yang disertakan dengan instalasi Matplotlib standar Anda melalui pip. Pastikan versi Matplotlib Anda lebih dari 1. 0

Setelah sub-modul ini diimpor, plot 3D dapat dibuat dengan meneruskan kata kunci projection="3d" ke salah satu fungsi pembuatan sumbu biasa di Matplotlib

from mpl_toolkits import mplot3d

import numpy as np
import matplotlib.pyplot as plt

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

plt.show()

Sekarang setelah sumbu kita dibuat, kita dapat mulai memplot dalam 3D. Fungsi perencanaan 3D cukup intuitif. alih-alih hanya scatter kami memanggil scatter3D , dan alih-alih hanya meneruskan data x dan y, kami meneruskan x, y, dan z. Semua pengaturan fungsi lainnya seperti warna dan jenis garis tetap sama dengan fungsi perencanaan 2D

Berikut adalah contoh memplot garis 3D dan titik 3D

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

z_line = np.linspace(0, 15, 1000)
x_line = np.cos(z_line)
y_line = np.sin(z_line)
ax.plot3D(x_line, y_line, z_line, 'gray')

z_points = 15 * np.random.random(100)
x_points = np.cos(z_points) + 0.1 * np.random.randn(100)
y_points = np.sin(z_points) + 0.1 * np.random.randn(100)
ax.scatter3D(x_points, y_points, z_points, c=z_points, cmap='hsv');

plt.show()
_

Inilah bagian paling mengagumkan tentang membuat plot dalam 3D. interaktivitas. Interaktivitas plot menjadi sangat berguna untuk menjelajahi data yang divisualisasikan setelah Anda memplot dalam 3D. Lihat beberapa tampilan berbeda yang saya buat dengan melakukan klik-dan-seret plot sederhana

Plot Permukaan

Plot permukaan sangat bagus untuk memvisualisasikan hubungan antara 3 variabel di seluruh lanskap 3D. Mereka memberikan struktur lengkap dan pandangan tentang bagaimana nilai setiap variabel berubah melintasi sumbu 2 lainnya

Membangun plot permukaan di Matplotlib adalah proses 3 langkah

(1) Pertama kita perlu menghasilkan titik aktual yang akan membentuk plot permukaan. Sekarang, menghasilkan semua titik permukaan 3D tidak mungkin karena jumlahnya tidak terbatas. Jadi sebagai gantinya, kami akan menghasilkan cukup untuk dapat memperkirakan permukaan dan kemudian mengekstrapolasi poin lainnya. Kami akan menentukan titik x dan y dan kemudian menghitung titik z menggunakan fungsi

fig = plt.figure()
ax = plt.axes(projection="3d")
def z_function(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 = z_function(X, Y)

(2) Langkah kedua adalah memplot wire-frame — ini adalah perkiraan permukaan kita

fig = plt.figure()
ax = plt.axes(projection="3d")
ax.plot_wireframe(X, Y, Z, color='green')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')

plt.show()

(3) Akhirnya, kami akan memproyeksikan permukaan kami ke perkiraan kerangka kawat kami dan mengekstrapolasi semua poin

ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap='winter', edgecolor='none')
ax.set_title('surface');
_

Kecantikan. Ada permukaan 3D kami yang penuh warna

Plot Batang 3D

Plot batang cukup sering digunakan dalam proyek visualisasi data karena dapat menyampaikan informasi, biasanya beberapa jenis perbandingan, dengan cara yang sederhana dan intuitif. Keindahan plot batang 3D adalah mempertahankan kesederhanaan plot batang 2D sambil memperluas kapasitasnya untuk merepresentasikan informasi komparatif.

Setiap bar di plot bar selalu membutuhkan 2 hal. posisi dan ukuran. Dengan plot batang 3D, kami akan memberikan informasi tersebut untuk ketiga variabel x, y, z

Kami akan memilih sumbu z untuk menyandikan ketinggian setiap bilah; . Posisi x dan y akan mewakili koordinat batang di bidang 2D z = 0. Kami akan mengatur ukuran x dan y dari setiap batang ke nilai 1 sehingga semua batang memiliki bentuk yang sama

Bagaimana Anda memplot array 3D dengan Python?

Membuat plot 3D di Matplotlib dari array numpy 3D .
Buat figur baru atau aktifkan figur yang sudah ada menggunakan metode figure()
Tambahkan '~. kapak. .
Buat data acak size=(3, 3, 3)
Ekstrak data x, y, dan z dari larik 3D
Plot titik-titik tersebar 3D pada sumbu yang dibuat
Untuk menampilkan gambar, gunakan metode show()

Bagaimana Anda memberi label sumbu 3D dengan Python?

Buat figur baru atau aktifkan figur yang sudah ada menggunakan metode figure(). Tambahkan subplot ke sumbu saat ini dengan proyeksi="3d". Inisialisasi variabel, sudut, untuk sudut. Tetapkan label sumbu Z menggunakan metode set_zlabel() dengan rotasi

Bagaimana Anda menampilkan gambar 3D dengan Python?

Dalam contoh ini, kita memilih sumbu 3D dimensi X =5, Y=5, Z=5, dan dalam np. ones() kita melewati dimensi kubus . np. fungsi ones () mengembalikan array baru dari bentuk dan jenis yang diberikan, dengan satuan.

Bagaimana Anda mengatur plot sumbu dengan Python?

Bagaimana cara mengatur nilai sumbu X di Matplotlib Python? .
Buat dua daftar untuk titik data x dan y
Dapatkan nilai rentang xticks
Plot garis menggunakan metode plot() dengan nilai rentang xtick dan titik data y
Ganti xticks dengan nilai sumbu X menggunakan metode xticks()
Untuk menampilkan gambar, gunakan metode show()