Plotly adalah library yang digunakan untuk membuat grafik interaktif dan dinamis dengan Python. Dalam artikel ini, kita akan membahas beberapa contoh penggunaan Plotly untuk membuat grafik yang dapat diinteraksi dan diperbarui.
Contoh 1: Membuat Grafik Scatter
Grafik scatter adalah salah satu bentuk grafik yang paling umum digunakan. Berikut adalah contoh kode Python untuk membuat grafik scatter menggunakan data USA states:
import plotly.graph_objects as go
import pandas as pd
data = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv")
fig = go.Figure(data=go.Scatter(x=data['Postal'], y=data['Population'], mode='markers', marker_color=data['Population'], text=data['State']))
fig.update_layout(title='Population of USA States')
fig.show()
Kode di atas akan membuat grafik scatter yang menampilkan populasi setiap negara bagian di USA. Grafik ini dapat diinteraksi dengan memanipulasi cursor mouse.
Contoh 2: Membuat Grafik Scatter dengan Dimensi Warna
Grafik scatter dapat dikembangkan dengan menambahkan dimensi warna. Berikut adalah contoh kode Python untuk membuat grafik scatter dengan dimensi warna:
import plotly.graph_objects as go
import numpy as np
fig = go.Figure(data=go.Scatter(
y=np.random.randn(500),
mode='markers',
marker=dict(
size=16,
color=np.random.randn(500), # set color equal to a variable
colorscale='Viridis', # one of plotly colorscales
showscale=True
)
))
fig.show()
Kode di atas akan membuat grafik scatter yang menampilkan nilai acak dengan warna yang berbeda. Grafik ini dapat diinteraksi dengan memanipulasi cursor mouse.
Contoh 3: Membuat Grafik Scatter dengan Zorder
Zorder adalah fitur baru dalam Plotly yang digunakan untuk mengatur urutan tampilan grafik. Berikut adalah contoh kode Python untuk membuat grafik scatter dengan zorder:
import plotly.graph_objects as go
import plotly.data as data
df = data.gapminder()
df_europe = df[df['continent'] == 'Europe']
trace1 = go.Scatter(x=df_europe[df_europe['country'] == 'France']['year'],
y=df_europe[df_europe['country'] == 'France']['lifeExp'],
mode='lines+markers',
zorder=3,
name='France',
marker=dict(size=15))
trace2 = go.Scatter(x=df_europe[df_europe['country'] == 'Germany']['year'],
y=df_europe[df_europe['country'] == 'Germany']['lifeExp'],
mode='lines+markers',
zorder=1,
name='Germany',
marker=dict(size=15))
trace3 = go.Scatter(x=df_europe[df_europe['country'] == 'Spain']['year'],
y=df_europe[df_europe['country'] == 'Spain']['lifeExp'],
mode='lines+markers',
zorder=2,
name='Spain',
marker=dict(size=15))
layout = go.Layout(title='Life Expectancy in Europe Over Time')
fig = go.Figure(data=[trace1, trace2, trace3], layout=layout)
fig.show()
Kode di atas akan membuat grafik scatter yang menampilkan data kehidupan rata-rata negara-negara Eropa. Grafik ini dapat diinteraksi dengan memanipulasi cursor mouse.
Contoh 4: Membuat Grafik Scattergl
Grafik scattergl adalah fitur baru dalam Plotly yang digunakan untuk meningkatkan kecepatan, interaktivitas, dan kemampuan ploting data yang lebih besar. Berikut adalah contoh kode Python untuk membuat grafik scattergl:
import plotly.graph_objects as go
import numpy as np
N = 100000
fig = go.Figure(data=go.Scattergl(
x=np.random.randn(N),
y=np.random.randn(N),
mode='markers',
marker=dict(
color=np.random.randn(N),
colorscale='Viridis',
line_width=1
)
))
fig.show()
Kode di atas akan membuat grafik scattergl yang menampilkan nilai acak dengan warna yang berbeda. Grafik ini dapat diinteraksi dengan memanipulasi cursor mouse.
Mengintegrasikan Plotly dengan Dash
Plotly dapat diintegrasikan dengan Dash, sebuah framework untuk membuat aplikasi web interaktif. Berikut adalah contoh kode Python untuk mengintegrasikan Plotly dengan Dash:
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go
app = dash.Dash()
fig = go.Figure(data=go.Scatter(x=[1, 2, 3], y=[2, 4, 6]))
app.layout = html.Div([
dcc.Graph(id='graph', figure=fig)
])
if __name__ == '__main__':
app.run_server()
Kode di atas akan membuat aplikasi web interaktif yang menampilkan grafik scatter. Grafik ini dapat diinteraksi dengan memanipulasi cursor mouse.
Dalam artikel ini, kita telah membahas beberapa contoh penggunaan Plotly untuk membuat grafik interaktif dan dinamis dengan Python. Plotly adalah library yang sangat powerful dan dapat digunakan untuk membuat berbagai jenis grafik yang interaktif.