Mengenal Data Visualisasi

Figure 1. Contoh hasil dari matplotlib

Buat mereka yang berkecimpung di dunia data scientist, data visualisasi adalah hal yang sangat penting. Data visualisasi (atau visualisasi data ?, halah terserah) merupakan cara yang digunakan oleh orang untuk mengekspresikan hasil temuan atau mungkin saja hal menarik yang intinya menggambarkan kemajuan dari hasil temuan atau apa yang telah ditemukan.


Saya yang hanya memiliki background backend dan biasa meringkuk di ruang server dengan jaket tebal, benda ini merupakan hal yang baru. Dan dari dulu memang tidak suka atau kurang suka dengan hal-hal yang bersifat grafis (e.g., desain grafis dan semisalnya) karena memang dulu merasa tidak memiliki jiwa seni. Apalagi terkadang data visualisasi ini juga tidak jauh-jauh dengan data statistik dan matematika yang memang dari dulu mencoba untuk dihindari (nggak usah ditanya alasannya kenapa).

Intinya data visualisasi bisa dipelajari dan ternyata setelah masuk ke dalamnya banyak hal baru yang saya temui dan sangat menarik. Data visualisasi yang paling sederhana yang pernah saya gunakan adalah matplotlib. Boleh dikatakan cukup sulit karena mungkin belum terbiasa saja. Tapi setelah itu saya menemukan beberapa data visualisasi yang semakin cantik dan lebih mudah seperti plotly dan bokeh. Ada juga seaborn yang dikembangkan oleh Michael Waskom.

Awalnya saya menggunakan bokeh karena plotly yang saya ketahui di awal untuk generate plot saja harus diunggah ke server mereka. Tapi ternyata saya salah, plotly juga bisa digunakan secara offline dengan beberapa kriteria yang harus terpenuhi.

Tadinya mau menulis banyak di github.io tapi sepertinya justru banyak orang yang beralih dari github.io ke medium.com. Jadi selanjutnya saya akan tuliskan di medium untuk data visualisasi. Saya akan coba berikan contoh dari data visualisasi yang telah saya buat. Pada Figure 1 diatas hanya contoh dari data visualisasi sederhana yang berasal dari matplotlib. Saya pikir ini sudah menjadi barang biasa.

Figure 2. Contoh data visualisasi dengan Bokeh

Gambar selanjutnya pada Figure 2, adalah contoh hasil dari bokeh. Cukup sederhana juga dan yang pernah saya sampaikan di sebuah artikel saya di https://andreyferriyan.github.io kalau bokeh ini juga relatif mudah dari sisi learning curve. Untuk menghasilkan gambar diatas hanya membutuhkan beberapa baris kode sebaga berikut:

# source code from https://bokeh.pydata.org
from bokeh.plotting import figure, show
from bokeh.sampledata.iris import flowers
from bokeh.transform import factor_cmap, factor_mark
SPECIES = [‘setosa’, ‘versicolor’, ‘virginica’]
MARKERS = [‘hex’, ‘circle_x’, ‘triangle’]
p = figure(title = “Iris Morphology”)
p.xaxis.axis_label = ‘Petal Length’
p.yaxis.axis_label = ‘Sepal Width’
p.scatter(“petal_length”, “sepal_width”, source=flowers, legend=”species”, fill_alpha=0.4, size=12,
marker=factor_mark(‘species’, MARKERS, SPECIES),
color=factor_cmap(‘species’, ‘Category10_3’, SPECIES))
show(p)

Berhati-hati kalau mau copy and paste perhatikan indentasi. Sedangkan untuk contoh dengan plotly bisa dilihat pada Figure 3 berikut ini

Figure 3. Contoh dengan plotly (source: https://plot.ly/python/line-charts/)

Untuk kode pada Figure 3 juga tidak terlalu jauh dengan bokeh.

# source code from https://plot.ly/python/line-charts/
import plotly.plotly as py
import plotly.graph_objs as go

# Create random data with numpy
import numpy as np

N = 500
random_x = np.linspace(0, 1, N)
random_y = np.random.randn(N)

# Create a trace
trace = go.Scatter(
x = random_x,
y = random_y
)

data = [trace]

py.iplot(data, filename='basic-line')

Silakan dipilih mana yang menarik. Mungkin ada contoh data visualisasi yang lain yang lebih baik silakan di share di komentar jika berkenan.

Andrey Ferriyan