Plotly adalah pustaka visualisasi data Python yang memfasilitasi pembuatan grafik interaktif berkualitas tinggi, dari grafik sederhana hingga visualisasi data 3D. Dikenal karena kemampuannya untuk membuat grafik web-based yang responsif, Plotly cocok untuk berbagai aplikasi, seperti data science, analisis data, dashboard bisnis, dan presentasi interaktif. Pustaka ini sering digunakan dalam Jupyter Notebook untuk analisis data yang mendalam serta terintegrasi dengan framework web, seperti Flask dan Django, untuk membuat aplikasi data-driven.
Fitur Utama Plotly
- Berbagai Jenis Grafik: Mendukung grafik garis, batang, pie, heatmap, peta, dan grafik 3D.
- Interaktivitas Tinggi: Grafik yang dihasilkan memungkinkan interaksi seperti zoom, hover, dan drag, yang membuat analisis data lebih intuitif.
- Dukungan untuk Visualisasi Kompleks: Selain grafik dasar, Plotly juga menyediakan komponen seperti subplot, grafik kombinasi, dan animasi data.
- Integrasi Mudah: Plotly dapat digunakan dengan Jupyter Notebook, framework web (Flask, Django), serta mendukung ekspor ke file HTML yang mandiri.
Cara Instalasi Plotly
Sebelum memulai, pastikan Python sudah terinstal pada komputer Anda. Anda bisa langsung menginstal Plotly menggunakan pip
:
pip install plotly
Jika Anda menggunakan Jupyter Notebook, disarankan juga untuk menginstal notebook
dan ipython
agar visualisasi dapat ditampilkan langsung di notebook:
pip install notebook ipython
Contoh Program Sederhana Menggunakan Plotly
Berikut adalah contoh dasar membuat grafik garis menggunakan Plotly:
pythonCopy codeimport plotly.graph_objects as go
# Data untuk grafik
x_data = [1, 2, 3, 4, 5]
y_data = [10, 15, 13, 17, 20]
# Membuat grafik garis
fig = go.Figure(data=go.Scatter(x=x_data, y=y_data, mode='lines+markers', name='Grafik Garis'))
fig.update_layout(title="Contoh Grafik Garis dengan Plotly", xaxis_title="X Axis", yaxis_title="Y Axis")
# Menampilkan grafik
fig.show()
Kode ini membuat grafik garis dengan beberapa titik data yang ditampilkan sebagai garis dan marker. Anda dapat memodifikasi data serta tampilannya sesuai kebutuhan.
Membuat Grafik Interaktif dengan Plotly Express
Plotly Express adalah modul dalam Plotly yang memudahkan pembuatan grafik interaktif dengan kode lebih ringkas. Berikut contoh menggunakan Plotly Express untuk membuat grafik batang:
import plotly.express as px
# Data untuk grafik
data = {'Kota': ['Jakarta', 'Bandung', 'Surabaya', 'Yogyakarta'],
'Populasi': [10, 3, 4, 1.5]}
fig = px.bar(data, x='Kota', y='Populasi', title="Populasi Kota di Indonesia")
fig.show()
Dengan Plotly Express, Anda bisa dengan mudah membuat grafik batang, scatter, dan berbagai jenis visualisasi lainnya hanya dengan satu perintah.
Proyek yang Cocok untuk Plotly
- Dashboard Visualisasi Data: Membuat dashboard yang interaktif untuk menampilkan laporan bisnis, performa, atau analisis data eksploratif. Plotly dapat digabungkan dengan pustaka seperti Dash, yang memungkinkan pengembangan dashboard penuh dengan kontrol input pengguna.
- Analisis Data dalam Jupyter Notebook: Karena kompatibel dengan Jupyter Notebook, Plotly sangat ideal untuk data science. Misalnya, Anda bisa memvisualisasikan data dengan grafik interaktif untuk mendapatkan insight langsung tanpa perlu mengekspor data ke aplikasi lain.
- Aplikasi Web dengan Visualisasi Data: Menggunakan Plotly bersama Flask atau Django memungkinkan Anda menambahkan grafik interaktif pada aplikasi web.
- Pemetaan dan Visualisasi Geospasial: Plotly memiliki dukungan bawaan untuk peta, seperti scatter maps dan choropleth maps, yang berguna untuk aplikasi GIS atau analisis data berbasis lokasi.
- Presentasi Data dan Laporan Interaktif: Grafik yang dihasilkan Plotly dapat diekspor ke format HTML sehingga dapat diintegrasikan ke laporan atau halaman web tanpa kehilangan interaktivitas.
Integrasi dengan Dash untuk Dashboard
Jika Anda ingin mengembangkan aplikasi dashboard interaktif secara penuh, Plotly memiliki pustaka tambahan bernama Dash. Dash memungkinkan Anda mengintegrasikan kontrol pengguna, seperti dropdown dan slider, langsung ke dalam visualisasi Plotly. Dash juga memudahkan Anda menghubungkan data dari berbagai sumber untuk visualisasi yang lebih kompleks.
Contoh kode untuk dashboard sederhana menggunakan Dash:
import dash
from dash import dcc, html
from dash.dependencies import Input, Output
import plotly.express as px
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Graph(id='grafik-scatter'),
dcc.Slider(id='slider', min=0, max=10, step=1, value=5),
])
@app.callback(
Output('grafik-scatter', 'figure'),
[Input('slider', 'value')]
)
def update_figure(value):
df = px.data.iris()
fig = px.scatter(df, x='sepal_width', y='sepal_length', title=f'Slider value: {value}')
return fig
if __name__ == '__main__':
app.run_server(debug=True)
Kesimpulan
Plotly adalah pustaka visualisasi data yang sangat fleksibel untuk Python, dengan kemampuan interaktif yang tinggi. Cocok untuk berbagai aplikasi, mulai dari analisis data di Jupyter Notebook hingga dashboard visualisasi data interaktif di aplikasi web, Plotly memungkinkan pengembang untuk membuat visualisasi yang kaya tanpa kompleksitas yang tinggi. Dengan integrasi mudah dengan Dash, Plotly menjadi alat yang sangat kuat untuk membuat aplikasi data-driven dengan fitur visualisasi canggih.