VIOLINPLOT WITH OBSERVATION


Kata Pengantar



Puji syukur kehadirat Allah SWT atas limpahan rahmat dan karunianya sehingga Buku Violinplots with Observation dapat diselesaikan. Buku ini merupakan tugas akhir untuk mata kuliah Desain Pemodelan Grafik, program studi Teknik Informatika Fakultas Teknik Industri Universitas Gunadarma. Mata kuliah tersebut sebagai salah satu penunjang penguasaan softskill.


Terimakasih disampaikan kepada Bapak Dr. rer. Nat. I Made Wiryana, SKom, SSi, MAppSc selaku dosen mata kuliah Desain Pemodelan Grafik yang telah membimbing, serta teman-teman dan pihak lain yang membantu menyelesaikan buku ini. Penulis menyadari masih terdapat banyak kekurangan dalam buku ini, untuk itu kritik dan saran terhadap penyempurnaan buku ini sangat diharapkan. Semoga buku ini dapat memberi maanfaat bagi pembacanya.


Depok, 22 Januari 2016

Penulis

1 Pendahuluan

Landasan Teori
1.1 Pengertian
1.1.1 Violin

Jika kita mendengar atau membaca kata violin, yang ada dipikiran kita adalah alat musik. Dalam materi ini, penggambaran sebuah grafik dari susunan data numerik biasanya berbentuk seperti Violin.

1.1.2 Plot
Plot adalah hubungan yang mengaitkan satu kejadian dengan kejadian lainnya sehingga saling berhubungan yang memicu terjadinya krisis dan menggerakkan cerita menuju klimaks (puncak konflik). Dengan kata lain, adanya suatu peristiwa dibenturkan dengan peristiwa lain, yang saling bergesekan sehingga memantik konflik. Plot inilah yang sesungguhnya menggerakan cerita dari awal sampai akhir yang menghiasinya jalannya cerita tersebut dengan ketegangan, konflik dan penyelesaian (ending).  Dan plot dalam materi ini bisa dikatakan sebagai metode yang disusun berdasarkan alur beberapa peristiwa.

1.1.3 Observation
Observation dalam bahasa indonesia berarti observasi, yaitu peninjauan secara cermat.

Violin Plot adalah kombinasi dari sebuah box plot dan sebuah kernel density plot (alur kepadatan titik). Detailnya, diawali dengan sebuah box plot. Lalu ada penambahan kepadatan titik rotasi plot ke setiap sisi box plot.  Violin Plot menggambarkan bentuk fungsi kepadatan massa. Violin Plot menunjukkan distribusi data kuantitatif di beberapa tingkat dari satu atau lebih pendistribusian variabel kategori yang dapat dibandingkan. Contoh:



Gambar diatas menggambarkan Violin Plot tentang Daftar sebuah ranking selama 1 tahun penuh.




2 Konsep Violin Plot

Violin Plot memainkan peran yang sama seperti box plot dan whisker plot. Ini menunjukkan distribusi data kuantitatif di beberapa tingkat satu (atau lebih) kategori variable seperti pendistribusian data kuantitatif yang dapat dibandingkan. Tidak seperti box plot, di mana semua komponen plot sesuai dengan datapoints yang sebenarnya, violin plot memiliki estimasi kepadatan kernel dari distribusi yang mendasarinya.

Hal ini dapat menjadi cara yang efektif dan menarik untuk menampilkan beberapa distribusi data sekaligus, namun perlu diingat bahwa prosedur estimasi dipengaruhi oleh ukuran sampel, dan violin untuk sampel yang relatif kecil mungkin terlihat lebih halus.

Penginputan data dapat dituliskan dalam berbagai format, seperti:
  • Vektor data direpresentasikan sebagai daftar, array Numpy, atau objek Panda Series yang dilalui langsung ke x, y, dan / atau warna parameter. 
  • Sebuah data frame dengan "bentuk panjang", dalam hal ini variable x, y, dan hue akan menentukan bagaimana data diplot. 
  • Sebuah data frame dengan "bentuk yang luas”, sehingga setiap kolom numerik akan diplot. 
  • Apa pun akan diterima oleh plt.boxplot (misalnya array 2d atau daftar vektor) 
Dalam kebanyakan kasus, memungkin untuk menggunakan Numpy atau objek-objek Python, tetapi objek Panda lebih disukai karena nama-nama yang terkait akan digunakan untuk membubuhi keterangan pada sumbu. Selain itu, Anda dapat menggunakan jenis-jenis kategori untuk variabel pengelompokan untuk mengontrol urutan elemen plot.

Parameter


x,y,hue : Nama-nama variabel dalam data atau data vektor, opsional. 
Inputan untuk proses plotting dengan data long-form. 


data : DataFrame, array, atau daftar array, opsional. 
Dataset untuk proses plotting. Jika x dan y tidak ada, maka akan ditafsirkan sebagai data wide-form. Selain itu diharapkan menjadi data long-form. 


order,hue_order : Daftar string, opsional 
Perintah untuk plot tingkat kategoris ke dalam, jika tingkat yang disimpulkan berasal dari objek data. 


bw : {’Scott’, ’silverman’, mengapung}, opsional 
Sebuah nama dari aturan referensi atau faktor skala untuk digunakan saat menghitung bandwidth kernel. Ukuran kernel yang sebenarnya akan ditentukan dengan mengalikan faktor skala dengan standar deviasi dari data dalam setiap bin. 


cut : Float, opsional 
Jarak, dalam satuan ukuran bandwidth, untuk memperpanjang kepadatan datapoints ekstrim sebelumnya. Set ke 0 untuk membatasi rentang biola dalam kisaran data yang diamati (yaitu, memiliki efek yang sama seperti trim = True di ggplot. 


scale : {"area", "count", "width"}, opsional. 
Metode yang digunakan untuk skala lebar setiap violin. Jika area, masing-masing violin akan memiliki wilayah yang sama. Jika count, lebar violin akan ditingkatkan dengan jumlah pengamatan di bin itu. Jika width, masing-masing violin akan memiliki lebar yang sama. 


scale_hue : Bool, opsional 
Ketika violin bersarang menggunakan variabel hue , parameter ini menentukan apakah scaling dihitung dalam setiap tingkat pengelompokan variable utama (scale_hue = True) atau di semua violin pada plot (scale_hue = False). 


gridsize : Int, opsional 
Jumlah poin di grid diskrit digunakan untuk menghitung estimasi kepadatan kernel. 


width : Float, opsional 
kelebaran elemen penuh saat tidak menggunakan hue bersarang, atau lebar semua elemen untuk satu tingkat dari variabel pengelompokan utama. 


inner : {"box", "quartile", "point", "stick", “none”}, opsional 
Representasi dari datapoints di interior violin. Jika box, menggambar miniature boxplot. Jika quartile, menarik distribusi kuartil. Jika point atau stick, menunjukkan setiap datapoint yang mendasari. Menggunakan None akan menarik violin tanpa hiasan. 


split : Bool, opsional 
Bila menggunakan hue bersarang dengan variabel yang mengambil dua tingkat, pengaturan split untuk True akan menarik setengah dari violin untuk setiap tingkat. Hal ini dapat membuat lebih mudah untuk langsung membandingkan distribusi. 


orient : "V" | "H", opsional 
Orientasi plot (vertikal atau horizontal). Ini biasanya disimpulkan dari dtype penginputan variabel, tetapi dapat digunakan untuk menentukan kapan variable "kategoris" adalah data numerik atau ketika plotting data wide-form. 


linewidth : Float, opsional 
Lebar garis abu-abu yang membingkai elemen plot. 


color : Warna matplotlib, opsional 
Warna untuk semua elemen, atau benih untuk light_palette () saat menggunakan hue bersarang. 


palette : Palet warna Seaborn atau dict, opsional 
Warna yang akan digunakan untuk tingkat yang berbeda dari variabel color . seharusnya dapat ditafsirkan oleh color_palette(), atau kamus tingkat pemetaan hue untuk pewarnaan matplotlib. 


saturation : Float, opsional 
Proporsi saturation asli untuk menggambar pewarnaan. Patch besar sering terlihat lebih baik dengan sedikit warna yang desaturated, tetapi atur sehingga bernilai 1 jika Anda ingin warna plot untuk menyempurnakan sesuai inputan spec warna. 


ax : Matplotlib Axes, opsional 
objek Axes untuk menarik plot kedalam, jika tidak menggunakan sumbu saat itu. 


Pengembalian

ax : Matplotlib Axes 
Mengembalikan objek Axes dengan boxplot yang ditarik ke atasnya. 


Contoh
Dalam penyajian contoh-contoh violinplot berikut, anda hanya perlu mengganti pendefinisian variabel ax dan menambahkan fungsi pemanggilan library jika dalam pendefinisian variabel terdapat inisial dari library. Dan anda tidak harus mengetikkan ulang semua syntaxnya, hanya mengganti ax. Agar lebih jelas, perhatikan contoh-contoh berikut.

-Menggambar satu violinplot secara horizontal
Buka aplikasi Python, lalu ketikkan source dibawah ini:

keterangan:
>>>import matplotlib.pyplot as plt = memanggil library pyplot pada matplotlib lalu diubah sebagai variabel plt
>>>import seaborn sns = memanggil library seaborn lalu diinisialisasikan sebagai variabel sns
>>>sns.set_style(“whitegrid”) = membuat latar dengan warna putih dan bergaris
>>>tips = sns.load_dataset(“tips”) = mendefinisikan variabel tips untuk memanggil object dataframe dari library panda
>>> ax = sns.violinplot(x=tips[“total_bill”]) = menggambarkan violin plot dari objek dataframe tips
>>>plt.show() = menampilkan output variabel plt
Output:


-Menambahkan beberapa violin plot
Meneruskan source code sebelumnya, dan tambahkan syntax:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, data = tips)
>>> plt.show()

keterangan:
>>> ax = sns.violinplot(x=”day”, y=”total_bill”, data = tips) = memberi judul garis x sebagai day, garis y sebagai total_bill, data di load dari variabel tips.


Dan inilah output yang dihasilkan:



-Menggambarkan violinplot grup bersarang dengan 2 kategori variabel.
Masih melanjutkan code yang tadi, tambahkan syntax dibawah ini
>>> ax = sns.violinplot(x="day", y="total_bill", hue="smoker",data=tips, palette="muted")
>>> plt.show()
Output:


-Menggabungkan violinplot diatas dengan menambahkan variabel split = True setelah variabel pallette
>>> ax= sns.violinplot(x="day", y="total_bill", hue="smoker", data=tips, palette="muted", split=True)
>>> plt.show()
maka output yang dihasilkan akan terlihat seperti ini:



-Violinplot diurutkan berdasarkan penginputan data.
Penginputan data disini sudah ada dalam librarynya, jadi kita hanya menampilkan atau memanggil fungsi tersebut dengan menambahkan syntax berikut ini:
>>> ax = sns.violinplot(x="size", y="tip", data=tips.sort("size"))
>>> plt.show()

Berikut adalah hasil outputnya:


-Violin diurutkan berdasarkan explicit warna biru tua ke biru muda.
Melanjutkan syntax sebelum-sebelumnya, tambahkan syntax berikut ini:


Kita harus mendefinisikan variabel np dari library numpy, karena pada variabel order terdapat fungsi library np.arange(1,7) yang berarti penyusunan size dari nilai 1 sampai 7.

Output:


-Mengatur skala lebar 2 violin dari penomoran observasi di setiap wadah.
Syntax:

Output:



-Menggambar garis putus-putus di dalam plot sebelumnya.
Syntax:
>>> ax = sns.violinplot(x="day", y="total_bill", hue="sex",data=tips, palette="Set2", split=True,scale="count", inner="quartile")
>>> plt.show()
Output:



-Menampilkan stick didalam violin di setiap observasi
Syntax:
>>> ax = sns.violinplot(x="day", y="total_bill", hue="sex",data=tips, palette="Set2", split=True,scale="count", inner="stick")
>>> plt.show()

Output:



-Menskala kepadatan relatifitas variabel count ke setiap wadah
Syntax:
>>> ax = sns.violinplot(x="day", y="total_bill", hue="sex",data=tips, palette="Set2", split=True,scale="count", inner="stick", scale_hue=False)
>>> plt.show()

Output:



-Menggunakan batas bandwidth untuk mengurangi jumlah smoothing.
Syntax:
>>> ax = sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, palette="Set2", split=True, scale="count", inner="stick", scale_hue=False, bw=.2)
>>> plt.show()
Output:


Konsepnya, contoh-contoh yang sudah disebutkan diatas adalah hanya pemanggilan dari violinplot yang sudah ada di dalam library dengan cara mengetikkan syntax-syntax diatas. Dan setiap penambahan variabel akan merubah bentuk/posisi/warna tergantung dari fungsi library apa yang anda panggil.

3 Perangkat Lunak Yang Mendukung

Violin Plots tersedia di sejumlah paket software, seperti R mencakup vioplot, wvioplot, caroline, UsingR, lattice, ggplot2 libraries, stata melalui vioplot add-in, dan Python libraries Matplotlib dan Seaborn.

3.1 R Software

Bahasa R juga mendukung pengolahan data dan statistik. Bahasa R merupakan software open source dari pemrograman bahasa S. R merupakan sebuah paket sekaligus bahasa pemrograman untuk analisis data dan grafik. R merupakan bahasa pemrograman tingkat tinggi.


R menyediakan variasi yang luas dalam statistik(modelling linier dan nonlinier, tes statistik, analisis time-series, klasifikasi, pengelompokan), teknik grafik, dan dapat diperluas. Anda bisa mengunjungi http://www.r-prohect.org jika ingin mengakses secara gratis. Atau kunjungi langsung link untuk mendownloadnya di https://cran.r-project.org/bin/windows/base/.

Beberapa fitur R: 


  1. Penanganan data dan fasilitas penyimpanan yang efektif. 
  2. Memiliki sederetan operator untuk perhitungan pada array , dalam matriks tertentu. 
  3. Besar , koheren , koleksi terpadu pada alat perantara untuk analisis data. 
  4. Fasilitas grafis untuk analisis data dan tampilan yang bagus di layar atau hardcopy , dan 
  5. Berkembang dengan baik , bahasa pemrograman yang sederhana dan efektif mencakup conditional , loop , fungsi rekursif yang ditentukan pengguna dan fasilitas input dan output . 

3.2 Penginstallan software R: 

-Setelah download software R, klik 2x pada R.3.2.3.exe 
-Klik Run 


- Pilih Bahasa sesuai yang anda inginkan, setelah itu klik OK.


- Klik Next


- Klik Next


- Pilih destinasi penyimpanan penginstallan. Untuk mempermudah anda, klik Next.


-Jika ingin memilih mode penginstallan. Klik pop-down User installation untuk user yang ada pada computer anda. 32-bit user installation untuk pengguna 32-bit, 64-bit user installation untuk pengguna 64 bit, dan custom installation untuk memilih komponen mana saja yang akan diinstall. Setelah itu Klik Next


-Pilih No untuk penginstallan secara default.


3.3 Menu-menu dalam R

Setelah instalasi selesai anda dapat menjalankan R pada tombol menu Start>All Programs> R > R 3.2.3 atau klik dua kali ikon R.
Window yang tampil akan seperti gambar berikut.


3.3.1 Menu default R-RGui

Menu Utama

Berikut adalah tampilan menu utama dalam R console, yang masing-masing akan dijelaskan pada bagian berikutnya.


1. Menu File
Menu ini menampilkan diantaranya: cara mengambil kode sumber R yang sudah ada tau tersimpan di komputer kita dengan menggunakan menu Source R code. Biasanya untuk perhitungan statistic tertentu kita dapat mendownload kode sumber dari internet secara Cuma-Cuma sehingga kita tidakharus menulis ulang kode sumber yang biasanya dengan jumlah baris perintah/command yang sangat panjang. Menu ini juga memudahkan kita dalam menyimpan ruang kerja/workspace yang sedang kita kerjakan (menu Save Workspace) di R console ke dalam folder komputer kita dan menggunakannya kembali dengan menggunakan menu Load Workspace.



2. Menu Edit
Menu ini adalah menu editor yang diantaranyaberisikan: menu editor yang umum seperti Copy, Paste, Select All, dan menu editor lainnya seperti menempelkan (paste) hanya commands, membersihkan console R sehinggaconsole R yang penuh dengan commands akan putih bersih sediakala ketika memulai R. Selain itu kita dapat juga mengedit data yang kita miliki dengan emnggunakan menu Data editor.


3. Menu Misc
Menu ini adalah menu tambahan diantaranya: memberhentikan seketika perhitungan yang sedang berlangsung dengan menggunakan tombol ESC; menampilkan objek (List objects) dan membuang objek (Remove all objects)




4. Menu Packages
Menu ini berisikan fasilitas untuk menambahkan paket statistic dan paket lainnnya dalam menu Load package dan instalasi paket dalm Install package(s) dan update paket dalm Update packas serta memungkinkan instalasi paket dari file zip yang ada di komputer kita (local) dengan menggunakan menu Install package(s) from local zip files.


5. Menu Windows






6. Menu Help

Menu ini berisikan sejumlah panduan, pertanyaan yang sering diajukan tentang R (FAQ) , fasilitas pencarian melalui situs resmi maupun situs proyek pengembangan R. Panduan dalam format html dan pdf (anda memerlukan pdf viewer terinstal di komputer seperti acrobat reader dan sejenisnya) .




3.3.2 Library dan fungsi dasar dalam instalasi R

Ketika anda telah melakukan instalasi R 3.2.3 yang telah anda download, anda akan mendapatkan R dengan koleksi library dan fungsi standar yang termasuk penting, antara lain sebagai berikut:





3.4 Matplotlib

Matplotlib adalah library python 2D untuk plotting yang menghasilkan figur yang kualitas publikasi dalam berbagai format hardcopy dan interaktif terhadap lingkungan platform, matplotlib dapat digunakan menggunakan source code python, python dan ipython shell (ala MATLAB or Mathematica), aplikasi web server dan toolkit untuk user interface six graphical.



Matplotlib mencoba untuk membuat hal yang mudah menjadi mudah dan hal sulit menjadi mungkin. Anda dapat membuat plot, histogram, power spectra, grafik bar, errorcharts, scatterplots, dll hanya dengan beberapa line code. Untuk membuat plotting yang simpel, pyplot interface mengembangkan layaknya MATLAB interface, terutama saat mengkombinasikan dengan IPython. Untuk power user, anda punya kendali penuh dalam line styles, properti font, properti tool, dll via sebuah objek yang terorientasi interface atau via satu set fungsi yang familiar untuk pengguna MATLAB.

3.5 Seaborn

Seaborn adalah library tambahan untuk membuat grafik statistik yang menarik dan informatif di dalam aplikasi Python. Dikembangkan diatas library matplotlib (library grafik untuk python) dan terintegrasi dengan PyData stack, termasuk dukungan untuk Numpy dan struktur data Pandas dan rutinitas statistik dari scipy dan statsmodels.

Beberapa fitur yang terdapat dalam Seaborn: 


  1. Beberapa built-in tema yang memperbaiki estetika standar matplotlib 
  2. Tool untuk memilih palet warna untuk membuat plot yang indah yang menerjemahkan pola dalam data Anda. 
  3. Fungsi untuk memvisualisasikan distribusi univariat dan bivariat atau untuk membandingkan antara subset data. 
  4. Tool yang menyesuaikan dan memvisualisasikan model regresi linier untuk berbagai jenis variabel independen dan dependen. 
  5. Fungsi yang memvisualisasikan matriks data dan penggunaan pengelompokan algoritma untuk menemukan struktur dalam banyak matriks. 
  6. Sebuah fungsi untuk plot data deret waktu statistik dengan estimasi fleksibel dan representasi ketidakpastian sekitar estimate. 
  7. Abstraksi tingkat tinggi untuk grid penataan plot yang memungkinkan Anda dengan mudah membangun visualisasi kompleks. 
Seaborn bertujuan untuk membuat visualisasi bagian tengah dalam mengeksplorasi dan memahami data. Fungsi Plotting beroperasi dalam dataframe dan array yang berisi seluruh dataset dan internal melakukan agregasi yang diperlukan dan model yang pantas untuk menghasilkan statistik plot yang informatif. Jika matplotlib "mencoba untuk membuat hal-hal mudah dan hal-hal sulit menjadi mungkin", Seaborn mencoba untuk membuat satu set yang didefinisikan dengan baik dari hal-hal yang sulit maupun mudah juga.

Fungsi Plotting mencoba untuk melakukan sesuatu yang berguna saat dipanggil dengan satu set minimal argumen, dan mereka mengekspos sejumlah pilihan yang disesuaikan melalui parameter tambahan. Beberapa fungsi petak langsung ke matplotlib sebuah objek, sementara yang lain beroperasi pada seluruh figur dan menghasilkan plot dengan beberapa panel. Dalam kasus terakhir, plot diambil menggunakan benda Grid yang menghubungkan struktur sosok dengan struktur dataset dengan cara abstrak.

Karena Seaborn menggunakan matplotlib, grafis dapat lebih bagus menggunakan matplotlib tool dan mampu merender dengan salah satu backends matplotlib untuk menghasilkan angka publikasi yang berkualitas. Seaborn juga dapat digunakan untuk menargetkan grafis berbasis web melalui mpld3 dan library-library Bokeh.

Seaborn dianggap sebagai pelengkap matplotlib, bukan sebagai pengganti matplotlib. Saat menggunakan Seaborn, ada kemungkinan bahwa Anda akan sering memanggil fungsi matplotlib langsung untuk menggambar plot sederhana yang sudah tersedia melalui namespace pyplot. Selanjutnya, fungsi Seaborn bertujuan untuk membuat plot yang cukup "siap produksi" (termasuk penggalian informasi semantik dari objek Panda untuk menambah label yang informatif), kustomisasi figur akan memerlukan pemahaman yang canggih pada objek matplotlib.

3.6 Penginstallan Seaborn (linux)

Untuk melakukan penginstallan Seaborn, Anda dapat menggunakan perintah pip (contoh: pip install seaborn) pada Terminal/Command Line. Dapat juga menginstall Seaborn dengan menggunakan perintah conda(contoh: conda install seaborn), meskipun hal ini mungkin sudah tertinggal jauh dari versi yang tersedia di PyPI.
Atau cara lain, anda dapat menggunakan pip untuk menginstall versi pengembangnya, dengan perintah pip install git + git://github.com/mwaskom/seaborn.git#egg=seaborn. Opsi lain bisa dengan mengkloning database pada github dan instal dengan perintah “pip install”. Package Seaborn murni untuk Python, sehingga instalasi cukup mudah dilakukan.


Bila menggunakan versi pengembangan, Anda mungkin ingin merujuk kepada development docs. Perhatikan, penginstallan ini tidak dibangun secara otomatis dan mungkin sesekali bisa tidak tersingkronisasi dengan sumber yang ada pada github.
Untuk melakukan penginstallan library Seaborn, Software yang harus diinstall yaitu: 

  • Python 2.7 or 3.3+ 
Langkah-langkah penginstallan Python (linux): 

  1. Buka terminal 
  2. Lalu ketikkan command 
$ sudo apt-get install python-pip


atau bisa juga dengan mengetikkan perintah

$ sudo apt-get install python2.7

Atau dengan cara yang lebih mudah lagi, anda bisa buka Software Center-> lalu ketikkan pada kotak dialog search “Python2.7”-> lalu klik install.


Sampai tahap ini, kita baru melakukan penginstallan Python sebagai media aplikasi mengetikkan source code.


Langkah selanjutnya adalah menginstall package/library yang mendukung Python agar tampilan grafik bisa terlihat. Package terdiri dari: 


numpy, untuk menginstall ketikkan perintah (pada terminal): 
$ sudo apt-get install python-numpy 


scipy, untuk menginstall ketikkan perintah (pada terminal): 
$ sudo apt-get install python-scipy 


matplotlib, untuk menginstall ketikkan perintah (pada terminal): 
$ sudo apt-get install python-matplotlib 


pandas, untuk menginstall ketikkan perintah (pada terminal): 
$ sudo apt-get install python-pandas 

Rekomendasi tambahan untuk package: 

statsmodels, anda dapat menginstallnya dengan mengetikkan perintah (pada terminal): 
$ sudo apt-get install python-statsmodels 


Sampai pada langkah ini anda sudah menginstall Python beserta package-package yang dibutuhkan.

Selanjutnya, anda dapat menginstall Seaborn dengan cara:

  1. Buka Terminal 
  2. Ketikkan $ sudo pip install seaborn 


Selesai. Anda tinggal menjalankan source code pada aplikasi Idle Python yang telah terinstal.

4 Contoh Pemanfaatan Konsep Violin Plot

Pemanfaatan Konsep Violin Plot tidak berbeda dengan pemanfaatan dari plot-plot lainnya, hanya penggambarannya grafik Violin Plot mirip dengan Violin. Violin Plot mirip dengan Box Plot. VIolinplot menunjukkan distribusi data kuantitatif di beberapa tingkat satu ( atau lebih ) variabel kategori seperti bahwa mereka distribusi dapat dibandingkan . Tidak seperti Box Plot , di mana semua komponen plotting sesuai dengan datapoints yang sebenarnya , plot biola memiliki estimasi densitas kernel dari distribusi yang mendasarinya .

4.1 Box Plot vs Violin Plot.

Kita akan melihat perbedaan antara Box Plot dan Violin Plot dalam data yang sama. Dan aplikasi dalam penerapan ini menggunakan R.
Berikut salah satu contoh kode untuk menghasilkan box plots.

Menghasilkan output seperti ini

Kedua bentuk tersebut terlihat seperti sama, hanya panjang dan tebalnya memang berbeda. Namun keduanya tetaplah membentuk persegi panjang.


Dan sekarang kita akan melihat violin plot menggunakan syntax dibawah ini:

Nilai X dan Y tetap sama, dan hasilnya seperti dibawah ini:



Bentuk keduanya terlihat berbeda, pada garis X (warna gold) terlihat seperti bibir, sedangkan garis Y (warna biru) terlihat seperti hewan botol bir.

4.2 Violin Plot dengan Matplotlib

Buka Program Python.


klik file-> New, dan ketikkan source code berikut:


Setelah itu klik File-> Save pada direktori yang anda inginkan.

Jika sudah, klik menu Run-> Run Module atau bisa juga dengan menekan tombol F5. Berikut adalah output yang keluar


Banyak pemodelan grafik violin plot yang dapat dihasilkan, salah satu contoh kali ini adalah violin plot dari data kinerja passing pemain football yang masih aktif pada posisi quarterback.



Dan berikut adalah kinerja passing pensiunan pemain football pada posisi quarterback.

5 Penutup

5.1 Kesimpulan

Kesimpulan yang dapat dipetik dari semua penjelasan diatas adalah Violin Plot with Observation sebagai peninjauan secara cermat tentang sebuah metode penggambaran sampel data grafik (histogram) dari alur beberapa peristiwa yang setiap sampelnya membentuk gambaran seperti alat musik violin. Violinplot dapat digambarkan di berbagai software, dengan syarat software tersebut sudah dalam penambahan library yang mendukung untuk menampilkan violin plot, seperti R dan Python.

6 Daftar Pustaka

http://jdtevrmdlu-cakadut.blogspot.co.id/2016/01/violinplot-with-observations_25.html

https://kpopfanfictionschool.wordpress.com/2013/09/02/alur-plot/

http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.violinplot.html

http://www.cerebralmastication.com/2009/02/box-plot-vs-violin-plot-in-r/

http://www.sthda.com/english/wiki/ggplot2-violin-plot-easy-function-for-data-visualization-using-ggplot2-and-r-software#basic-violin-plot

http://www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/violplot.htm

https://cran.r-project.org/web/packages/vioplot/index.html

https://cran.r-project.org/bin/windows/base/README.R-3.2.3

http://mbjoseph.github.io/2013/06/24/violin.html

http://vizual-statistix.tumblr.com/post/44796410033/ive-always-thought-violin-plots-of-data-with

http://docs.ggplot2.org/0.9.3/geom_violin.html

http://stackoverflow.com/questions/30336324/seaborn-load-dataset

https://en.wikipedia.org/wiki/Matplotlib

http://pyinsci.blogspot.co.id/2009/09/violin-plot-with-matplotlib.html

http://codeyarns.com/2015/03/04/how-to-install-seaborn/

http://didi.staff.gunadarma.ac.id/Downloads/files/13707/BabIII.pdf

Anda juga bisa mendownload file aslinya disini