Membuat Grafik Scatter dengan Plotly dan Dash

Membuat Grafik Scatter dengan Plotly dan Dash

Plotly adalah salah satu library graphing yang paling populer di Python. Dalam artikel ini, kita akan membahas cara membuat grafik scatter menggunakan Plotly dan Dash.

Menggunakan Plotly

Plotly memungkinkan kita untuk membuat berbagai jenis grafik, termasuk grafik scatter. Berikut adalah contoh kode untuk membuat grafik scatter:

import numpy as np
import plotly.graph_objects as go

N = 1000
r = np.random.uniform(0, 1, N)
theta = np.random.uniform(0, 2*np.pi, N)

fig = go.Figure(data=go.Scattergl(
 x = r * np.cos(theta), 
 y = r * np.sin(theta), 
 mode='markers',
 marker=dict(
 color=np.random.randn(N),
 colorscale='Viridis',
 line_width=1
 )
))

fig.show()

Kode di atas akan membuat grafik scatter dengan titik-titik acak yang dihasilkan oleh distribusi uniform dan berputar sekitar sumbu-x. Grafik ini dapat diubah menjadi format file seperti PNG atau PDF.

Menggunakan Dash

Dash adalah framework open-source untuk membuat aplikasi analisis, tanpa memerlukan JavaScript. Plotly adalah salah satu library yang digunakan oleh Dash. Berikut adalah contoh kode untuk membuat aplikasi Dash:

import plotly.graph_objects as go
from dash import Dash, dcc, html

app = Dash()
app.layout = html.Div([
 dcc.Graph(figure=fig)
])

app.run_server(debug=True, use_reloader=False)

Kode di atas akan membuat aplikasi Dash yang menampilkan grafik scatter yang sama dengan kode Plotly di atas. Aplikasi Dash dapat diakses melalui URL dan dapat digunakan untuk memvisualkan data dalam bentuk interaktif.

Mengatur Ukuran Marker

Jika kita ingin mengubah ukuran marker (titik) pada grafik scatter, kita dapat menggunakan metode update_traces atau menambahkan kolom baru ke dataframe dan menggunakan argument size_max. Berikut adalah contoh kode:

fig.update_traces(marker={'size': 15})

Atau,

df['dummy_column_for_size'] = 1.
px.scatter(
 df, 
 x='colA', 
 y='colB', 
 size='dummy_column_for_size',
 size_max=15,
)

Kode di atas akan mengubah ukuran marker menjadi 15.

Mengatasi Masalah Marker Overlap

Jika kita memiliki banyak titik pada grafik scatter dan ingin mengatasi masalah overlap, kita dapat menggunakan metode update_traces untuk mengubah ukuran marker. Berikut adalah contoh kode:

fig.update_traces(marker={'size': 5})

Atau,

df['dummy_column_for_size'] = 1.
px.scatter(
 df, 
 x='colA', 
 y='colB', 
 size='dummy_column_for_size',
 size_max=5,
)

Kode di atas akan mengubah ukuran marker menjadi 5, sehingga titik-titik tidak terlalu overlapping.

Dengan demikian, kita dapat menggunakan Plotly dan Dash untuk membuat grafik scatter yang interaktif dan mudah dipahami.

Leave a comment