Plotly 3D Scatter Plots

Plotly 3D Scatter Plots

Plotly adalah sebuah library Python yang dapat digunakan untuk membuat plot grafik yang sangat beragam. Salah satu contoh penggunaannya adalah membuat scatter plots 3D.

Menggunakan Plotly, Anda dapat membuat plot 3D yang memvisualisasikan data sepatu iris yang terdiri atas panjang, lebar, dan tinggi bunga. Berikut adalah kode Python untuk membuat plot 3D tersebut:

import plotly.express as px

df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
 color='petal_length', size='petal_length', size_max=18,
 symbol='species', opacity=0.7)

# tight layout
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.show()

Kode di atas menggunakan fungsi px.scatter_3d() untuk membuat plot 3D. Fungsi ini memerlukan beberapa argumen, yaitu:

  • df: dataset yang akan digunakan untuk membuat plot
  • x, y, dan z: nama kolom yang akan digunakan sebagai sumbu-x, y, dan z
  • color: nama kolom yang akan digunakan untuk warna plot
  • size: nama kolom yang akan digunakan untuk ukuran marker
  • symbol: nama kolom yang akan digunakan untuk simbol marker

Setelah membuat plot 3D, Anda dapat memvisualisasikannya menggunakan fungsi fig.show().

Membuat Plot 3D dengan Warna dan Simbol Marker

Plotly juga dapat digunakan untuk membuat plot 3D dengan warna dan simbol marker. Berikut adalah contoh kode Python untuk membuat plot 3D seperti itu:

import plotly.graph_objects as go
import numpy as np

# Helix equation
t = np.linspace(0, 20, 100)
x, y, z = np.cos(t), np.sin(t), t

fig = go.Figure(data=[go.Scatter3d(
 x=x,
 y=y,
 z=z,
 mode='markers',
 marker=dict(
 size=12,
 color=z, # set color to an array/list of desired values
 colorscale='Viridis', # choose a colorscale
 opacity=0.8
 )
)])

# tight layout
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.show()

Kode di atas menggunakan fungsi go.Figure() untuk membuat plot 3D. Fungsi ini memerlukan beberapa argumen, yaitu:

  • data: array/list of data yang akan digunakan untuk membuat plot
  • x, y, dan z: nama kolom yang akan digunakan sebagai sumbu-x, y, dan z
  • mode: mode plot yang akan digunakan (dalam kasus ini, markers)

Dalam fungsi marker , Anda dapat mengatur ukuran marker, warna, dan opacity. Pada contoh di atas, warna marker dipengaruhi oleh nilai z.

Membuat Plot 3D dengan Garis

Plotly juga dapat digunakan untuk membuat plot 3D dengan garis. Berikut adalah contoh kode Python untuk membuat plot 3D seperti itu:

import plotly.graph_objs as go
import numpy as np

# Helix equation
t = np.linspace(0, 20, 100)
x, y, z = np.cos(t), np.sin(t), t

fig = go.Figure(data=[go.Scatter3d(
 x=x,
 y=y,
 z=z,
 mode='lines',
 line=dict(width=2)
)])

# tight layout
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.show()

Kode di atas menggunakan fungsi go.Figure() untuk membuat plot 3D. Fungsi ini memerlukan beberapa argumen, yaitu:

  • data: array/list of data yang akan digunakan untuk membuat plot
  • x, y, dan z: nama kolom yang akan digunakan sebagai sumbu-x, y, dan z
  • mode: mode plot yang akan digunakan (dalam kasus ini, lines)

Dalam fungsi line , Anda dapat mengatur lebar garis.

Membuat Plot 3D dengan Dash

Plotly juga dapat digunakan untuk membuat aplikasi analitis dengan menggunakan Dash. Berikut adalah contoh kode Python untuk membuat plot 3D dengan Dash:

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px

app = dash.Dash(__name__)

df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
 color='petal_length', size='petal_length', size_max=18,
 symbol='species', opacity=0.7)

app.layout = html.Div([
 dcc.Graph(id='graph')
])

@app.callback(Output('graph', 'figure'), [Input('graph', 'id')])
def update_graph():
 return fig

if __name__ == '__main__':
 app.run_server(debug=True)

Kode di atas menggunakan Dash untuk membuat aplikasi analitis yang memvisualisasikan plot 3D. Fungsi app.layout digunakan untuk mendefinisikan struktur aplikasi, sedangkan fungsi update_graph() digunakan untuk mengupdate plot 3D.

Menggunakan Plotly dan Dash, Anda dapat membuat plot 3D yang sangat beragam dan interaktif.

Leave a comment