Manusia adalah makhluk visual. kita dapat lebih mudah memahami sesuatu lebih baik dengan visualisasi. kita dapat lebih mudah menemukan pola-pola yang mungkin tersembunyi apa bila kita bisa melihatnya secara visual. Show Pada artikel ini kita akan membahas suatu topik tentang Visualisasi menggunakan liblary matplotlib. kita akan belajar bagaimana caranya membuat objek visual yang informatif dan menarik. Matplotlib adalah suatu liblary yang low-level untuk membangun objek visual. maksudnya low-level bukan jelek ya. tapi low-level ini memberikan kita control sampai ke komponen-komponen kecilnya. kalau misalkan kita buat mobil, kita mengontrol sampai pembuatan ke baut bautnya. Oleh karena itu matplotlib penting di fahami sebagai dasar apabila ingin mendalami bidang visualisasi data. Install Liblary MatplotlibUntuk dapat menggunakan liblary matplotlib, install terlebih dahulu liblary tersebut dengan:
Komponen Besar: Figure dan AxesKita akan membahas top-level component, yaitu komponen terbesar dalam suatu objek visualisasi, Figure dan Axes. Sebelum dijelaskan lebih jauh lagi, mari lihat terlebih dahulu seperti apa contoh sederhana visualisasi data.
Ok, sampai sini setidaknya kalian mempunyai gambaran besar tentang objek visual data. Kita akan lanjut bahas tentang komponen terbesar dalam objek visual ini. Figure, adalah window atau page atau halaman dalam objek visual. kalau kita ngegambar di kertas, maka kertas tersebutlah yang di namakan figure. Axis, kedalam Figure kita menambahkan Axis, Axis adalah suatu area di dalam figure dimana data akan di plot. Dalam Axis juga terdapat berbagai macam komponen lagi seperti x-axis, y-axis, dan lain sebagainya. hal ini akan kalian lihat di artikel ke dua. Selain Figure dan Axis, ada komponen lain dalam visualisasi, yaitu Artist. Artist adalah komponen yang digunakan untuk memperindah objek visualisasi kita, seperti legend, title, tick labels dan lainnya. Topik tentang Artist ini akan dibahas di pertemuan ke dua ya .. ^_^ Setelah memahami komponen terbesar dari matplotlib, berikut akan di tunjukan beberapa macam perintah kode untuk membuat komponen-komponen tersebut dan memberiakan data kepada komponen Axis. Beikut adalah method untuk membuat figure:
Perhatikan kita mempunyai objek Figure dengan 0 Axis. sekarang kita akan menambahkan axis kedalam objek figure kita dengan method add_subplot(). kemudian kita tunjukan objek figure kita dengan method show().
Sekarang kita akan tambahkan data kedalam objek tersebut dengan memanggil method plot() dan memberikan data sebagai argument method tersebut:
Begitulah cara sederhana untuk membuat objek visualisasi, sekarang akan di tunjukan cara lain yang lebih clean.
Perhatikan, kedua cara tadi menghasilkan hasil yang sama. tapi cara kedua lebih clean karena tidak memerlukan banyak kode. sebenarnya ke dua cara tersebut sama-sama menghasilkan komponen Figure dan Axis. tetapi cara pertama Explicit sedangkan cara kedua Implicit. Cara yang Explicit di rekomendasikan ketika kita ingin membuat visualisasi data yang lebih kompleks. karena kita dapat mengontrol berbagai macam komponen yang terdapat di dalam objek figure dan axes, saat ini kalian belum banyak melihat komponen tersebut, materi ini akan diberikan di materi ke 2. Namun, kita juga dapat membuat cara visualisasi data lebih simple dengan menggabungkan pembuatan objek Figure dan Axes dengan sekali jalan, melalui pemanggilan method subplots(), seperti ini:
Memungkinkan untuk memplot lebih dari satu data kedalam suatu axis dengan cara seperti ini:
Menyimpan dan menampilkan gambar hasil plottingSetelah kita melakukan plotting data, kita bisa melakukan penyimpanan dan menampilkan data yang kita simpan menggunakan modul Image, seperti berikut:
Visualisasi KustomBerikut adalah raw objek visualisasi data yang akan kita custom:
Custom LineStyleGaris penghubung antara data poin dapat di ubah dengan memberikan argument linestyle terhadap method plot, perhatikan contoh code berikut: 0Di atas di berikan nilai ‘–‘ terhadap argument linestyle, terdapat berbagai opsi untuk memberikan berbagai jenis bentuk terhdap linestyle, yaitu sebagai berikut : Memilih WarnaDapat di pilih warna plot dengan memberikan argument color terhadap method plot. Memilih value untuk argument color bisa dengan berbagai bentuk format warna, seperti format RGB, hex code, atau label warna biasa seperti ‘r’ untuk red, ‘b’ untuk blue dan lain sebagainya. Dapat dilihat pada code berikut: 1 2Custom Axis Label and TitleKomponen lain yang penting untuk di custom adalah axis label karena axis label menunjukan variabel apa yang sedang di plot. Axis terdapat 2, yaitu x-axis dan y-axis. untuk mengubah x-axis dapat menggungkan method set_xlabel(), untuk mengubah y-axis dapat menggungkan set_ylabel(). Title juga adalah komponen yang sangat penting untuk menunjukan data apa yang sedang di visualisasikan. Untuk mengubah title dapat menggunakan method set_title(). Perhatikan contoh code berikut: 3Axis LimitKita bisa membatasi axis dari data kita dengan menggunakan atribut xlim, ylim maupun atribut .axis, seperti berikut: 4 5LegendLegend adalah label data yang muncul dalam sebuah plot. dengan memberikan legend akan lebih mempermudah kita dalam membaca data. 6Marker Data PointCoba perhatikan bahwa bentuk plot dari data adalah berupa line plot, tidak dapat di ketahui dimana tepatnya data poin terletak. Terdapat sebuah argument dalam methode plot untuk memberikan marker/tanda terhadap data poin, argument tersebut adalah marker, perhatikan kode berikut: 7Di atas telah di berikan nilai ‘o’ terhadap argument marker, ‘o’ artinya bulat, jadi di berikan marker bulat terhadap setiap data poin, sehingga dapat lebih jelas membedakan antara garis penghubung dengan data poin. Nilai marker tidak hanya ‘o’ berikut opsi nilai untuk memberikan berbagai jenis bentuk marker terhadap data poin. source : https://matplotlib.org/1.4.1/api/markers_api.html 8Multi PlotPada bagian pertama, telah di tunjukan bahwa memungkinkan untuk membuat multiple data plot dalam satu axis. seperti ini:
Namun, dalam beberapa kasus, ketika multiple plots di masukan ke dalam satu axes, dapat memungkinkan membuat objek visualisasi menjadi tidak rapi. contohnya seperti ini: 0atau seperti ini: 1Terdapat berbagai kasus yang apabila kita memplot data dalam satu axis, dapat membuat data visualisasi kita menjadi berantakan sehingga kita susah untuk menemukan pola. Pada kasus pertama, perbedaan yang besar nilai y antara data pertama dan kedua membuat data pertama menjadi tidak jelas visualisasinya, tidak jelas terlihat pola grafiknya. Pada kasus kedua banyaknya plot data membuat visualisasi menjadi berantakan tak karuan. hal ini dapat meangganggu proses analisis dalam menemukan pola. Oleh karena itu, solusinya adalah membuat multiple axis, dan meletakan data di axis-axis yang berbeda. Ada beberapa cara yang bisa digunakan untuk membuat multiple subplots. with plt.axes()plt.axes akan menambahkan suatu ke axes ke dalam figure dan menjadikannya axes terbaru, sebagai contoh: 2with fig.add_axes 3with plt.subplotplt.subplot digunakan untuk membuat multiple plots yang memiliki weight dan height yang sama. 4 5with plt.subplotsMetode subplots ini memiliki argument untuk mengatur jumlah axis yang di hasilkan, argument ini adalah nrows dan ncols. tidak memberikan nilai pada argument ini di contoh-contoh sebelumnya karena secara default, nrows dan ncols bernilai satu. Untuk menghasilkan multiple axis, bisa di lakukan dengan memberikan nilai nrows dan ncols lebih dari satu, seperti ini: 6Coba perhatikan dengan attribute shape didapatkan bahwa dimensi dari objek axis adalah 3, 2, artinya axis memiliki 3 rows dan 2 columns. dan ketika variable ax di print. dihasilkan sebuah nested list berisi 3 elemen list didlam element list terluar, dan dalam setiap list di dalam list terdapat objek axis berjumlah 2. ini artinya adalah bahwa ax[0] akan menghasilkan objek list berisi objek axis di row pertama. dan setereusnya. Untuk lebih jelasnya, mari lihat bentuk dari figure ini: 7Mari kita coba membuat multiple subplots dengan memberikan text seperti metode subplot, seperti berikut: 8Sekarang mari coba membuat visualisasi data 4 plots dengan multiple axis menggunakan plt.subplots(). 9Coba perhatikan bahwa axis-y di setiap axis mempunyai interval yang berbeda-beda, begitu pula axis-x nya pada axis baris pertama column pertama hanya pada interval 1-4, sedangkan yang lainnya 1-5. Visualisasi ini bisa di improve agar mendapatkan interval axis yang sama dengan menambahkan argument sharex dan sharey terhadap method subplots. seperti ini: 0with inset_axesinset_axes adalah suatu metode dalam Matplotlib.pyplot yang digunakan untuk membuat axes di dalam sebuah axes. Seperti contoh berikut: |