Dalam dunia data visualization, plotly adalah salah satu alat yang paling populer digunakan untuk membuat grafik dan visualisasi data. Namun, terkadang kita menemui masalah saat membuat plot yang kompleks, seperti break axis (atau "broken" axis). Dalam artikel ini, kita akan membahas cara mengatasi masalah break axis pada plotly.
Masalah Break Axis
Masalah break axis timbul ketika data yang kita plot memiliki nilai yang berbeda-beda secara signifikan. Contohnya, kita memiliki data yang terdistribusi sekitar x = 10 dan x = 90. Jika kita ingin menampilkan data dari x = 0 hingga x = 100, maka detail-data akan tersembunyi. Dalam kasus ini, kita ingin memiliki axis "break" untuk memperlihatkan detail-data yang tersembunyi.
Cara Mengatasi Masalah Break Axis
Pada awalnya, plotly tidak mendukung fitur break axis. Namun, kita dapat menggunakan cara "hacky" untuk mencapai tujuan ini. Salah satu cara adalah dengan menggunakan ticktext
dan tickvals
. Kita dapat membuat dua buah axis yang berbeda, kemudian menggabungkan mereka menjadi satu.
Contohnya:
import plotly.graph_objects as go
fig = go.Figure(data=[go.Scatter(x=[0, 20], y=[1, 2])])
fig.update_layout(
xaxis=dict(
tickvals=[0, 10, 20],
ticktext=["0-10", "10-20"]
),
yaxis=dict(tickvals=[1, 2])
)
fig.show()
Dalam contoh di atas, kita membuat dua buah axis yang berbeda. Axis x memiliki nilai tickvals
dari [0, 10, 20] dan ticktext
["0-10", "10-20"]. Kita dapat menggabungkan mereka menjadi satu dengan menggunakan fitur update_layout
.
Solusi Alternatif
Jika cara di atas tidak cocok untuk kebutuhan Anda, maka kita dapat mencoba menggunakan solusi alternatif. Salah satu contohnya adalah dengan membuat dua buah plot yang berbeda dan menambahkan annotation pada masing-masing plot.
Contohnya:
import plotly.graph_objects as go
fig1 = go.Figure(data=[go.Scatter(x=[0, 20], y=[1, 2])])
fig2 = go.Figure(data=[go.Scatter(x=[80, 100], y=[3, 4])])
fig1.update_layout(title="Plot 1")
fig2.update_layout(title="Plot 2")
fig1.show()
fig2.show()
Dalam contoh di atas, kita membuat dua buah plot yang berbeda. Kita dapat menambahkan annotation pada masing-masing plot untuk memperlihatkan detail-data.
Kesimpulan
Mengatasi masalah break axis pada plotly dapat dilakukan dengan menggunakan cara "hacky" seperti ticktext
dan tickvals
, atau dengan membuat dua buah plot yang berbeda dan menambahkan annotation. Kita dapat memilih cara yang cocok untuk kebutuhan Anda.