Membuat Plot Skatter 3D dengan Gradasi Warna di Python

Membuat Plot Skatter 3D dengan Gradasi Warna di Python

Kami akan membahas bagaimana membuat plot skatter 3D dengan gradasi warna menggunakan Python dan library matplotlib. Contoh yang diberikan berikut ini adalah cara membuat plot skatter 2D dengan gradasi warna, namun kami akan membahas bagaimana mengaplikasikannya ke plot skatter 3D.

Membuat Plot Skatter 3D dengan Gradasi Warna

Pertama-tama, kita perlu mengimport library numpy dan matplotlib.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

Kemudian, kita membuat matriks acak untuk koordinat 3D (x, y, z) dan warna (c).

x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)
col = np.arange(30)

Setelah itu, kita membuat figure dan axes 3D.

fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')

Kemudian, kita membuat plot skatter 3D dengan menggunakan fungsi scatter.

p3d = ax3D.scatter(x, y, z, s=30, c=col, marker='o')

Perlu diingat bahwa dalam contoh ini, warna (c) digunakan sebagai array of floats. Jika Anda ingin menggunakan gradasi warna, Anda perlu mengubah warna menjadi array of RGBA floats.

Menggunakan Fungsi scatter3d

Fungsi scatter3d adalah sebuah fungsi yang dapat membantu Anda membuat plot skatter 3D dengan gradasi warna. Berikut adalah contoh penggunaan fungsi tersebut:

import matplotlib.cm as cmx
from mpl_toolkits.mplot3d import Axes3D

def scatter3d(x, y, z, cs, colorsMap='jet'):
 cm = plt.get_cmap(colorsMap)
 cNorm = matplotlib.colors.Normalize(vmin=min(cs), vmax=max(cs))
 scalarMap = cmx.ScalarMappable(norm=cNorm, cmap=cm)
 fig = plt.figure()
 ax = Axes3D(fig)
 ax.scatter(x, y, z, c=scalarMap.to_rgba(cs))
 scalarMap.set_array(cs)
 fig.colorbar(scalarMap)
 plt.show()

scatter3d(x, y, z, col)

Fungsi scatter3d dapat membantu Anda membuat plot skatter 3D dengan gradasi warna yang lebih baik.

Referensi

Leave a comment