import pandas as pd
#create DataFrame
df = pd.DataFrame[{'team': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'],
'points': [18, 22, 29, 25, 14, 11, 10, 15]}]
#create bar plot to visualize frequency of each team
df['team'].value_counts[].plot[kind='bar', xlabel='Team', ylabel='Count', rot=0]
Sumbu x menampilkan setiap nama tim dan sumbu y menunjukkan frekuensi setiap tim dalam DataFrame
Catatan. Argumen rot=0 memberi tahu panda untuk memutar label sumbu x agar sejajar dengan sumbu x
Contoh 2. Boxplot berdasarkan Grup
Boxplot yang dikelompokkan adalah cara yang berguna untuk memvisualisasikan variabel numerik, yang dikelompokkan berdasarkan variabel kategori
Misalnya, kode berikut menunjukkan cara membuat plot mosaik yang menunjukkan frekuensi variabel kategori 'hasil' dan 'tim' dalam satu plot
Untuk memplot variabel kategori di Matplotlib, kita dapat mengambil langkah-langkah berikut −
- Atur ukuran gambar dan sesuaikan padding antara dan di sekitar subplot
- Buat kamus dengan beberapa detail
- Ekstrak kunci dan nilai dari kamus [Langkah 2]
- Buat gambar dan satu set subplot
- Plot bar, scatter dan plot dengan data nama dan nilai
- Untuk menampilkan gambar, gunakan metode show[]
Contoh
import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = {'apple': 10, 'orange': 15, 'lemon': 5} names = list[data.keys[]] values = list[data.values[]] fig, axs = plt.subplots[1, 3] axs[0].bar[names, values] axs[1].scatter[names, values] axs[2].plot[names, values] plt.show[]_
Keluaran
Plot pada dasarnya digunakan untuk memvisualisasikan hubungan antar variabel. Variabel tersebut dapat berupa numerik sepenuhnya atau kategori seperti grup, kelas, atau divisi. Artikel ini membahas variabel kategorikal dan bagaimana mereka dapat divisualisasikan menggunakan pustaka Seaborn yang disediakan oleh Python.
Seaborn selain menjadi pustaka plotting statistik juga menyediakan beberapa kumpulan data default. Kami akan menggunakan satu set data default yang disebut 'tips'. Kumpulan data 'tips' berisi informasi tentang orang-orang yang mungkin pernah makan di restoran dan apakah mereka memberikan tip atau tidak kepada pramusaji, jenis kelamin mereka, apakah mereka merokok, dan sebagainya.
Mari kita lihat dataset tips
Kode
Python3
# import the seaborn library
import
seaborn as sns
countplot[[x, y, hue, data, order, …]]0
countplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]2
import
countplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]5
countplot[[x, y, hue, data, order, …]]6
countplot[[x, y, hue, data, order, …]]7
countplot[[x, y, hue, data, order, …]]8
countplot[[x, y, hue, data, order, …]]9
boxplot[[x, y, hue, data, order, hue_order, …]]0
boxplot[[x, y, hue, data, order, hue_order, …]]_1
boxplot[[x, y, hue, data, order, hue_order, …]]_2
Sekarang mari kita lanjutkan ke plot sehingga kita dapat memvisualisasikan variabel kategori ini
Barplot
Barplot pada dasarnya digunakan untuk mengumpulkan data kategorikal menurut beberapa metode dan secara default adalah rata-ratanya. Itu juga dapat dipahami sebagai visualisasi kelompok dengan tindakan. Untuk menggunakan plot ini, kami memilih kolom kategorikal untuk sumbu x dan kolom numerik untuk sumbu y dan kami melihat bahwa itu membuat plot dengan rata-rata per kolom kategorikal.
Sintaksis.
barplot[[x, y, hue, data, order, hue_order, …]]
Contoh.
Python3
boxplot[[x, y, hue, data, order, hue_order, …]]_3
boxplot[[x, y, hue, data, order, hue_order, …]]4
boxplot[[x, y, hue, data, order, hue_order, …]]5
boxplot[[x, y, hue, data, order, hue_order, …]]0
boxplot[[x, y, hue, data, order, hue_order, …]]_7
________11______8
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]0
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]6
countplot[[x, y, hue, data, order, …]]7________22______8________11_____
stripplot[[x, y, hue, data, order, …]]_0
import
stripplot[[x, y, hue, data, order, …]]2
stripplot[[x, y, hue, data, order, …]]_3
boxplot[[x, y, hue, data, order, hue_order, …]]8
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]0
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
swarmplot[[x, y, hue, data, order, …]]2
swarmplot[[x, y, hue, data, order, …]]3
swarmplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]8
swarmplot[[x, y, hue, data, order, …]]7
countplot[[x, y, hue, data, order, …]]7
swarmplot[[x, y, hue, data, order, …]]9
Keluaran.
Penjelasan/Analisis
Melihat plot kita dapat mengatakan bahwa total_bill rata-rata untuk laki-laki lebih banyak dibandingkan dengan perempuan.
- palet digunakan untuk mengatur warna plot
- estimator digunakan sebagai fungsi statistik untuk estimasi dalam setiap bin kategori
Hitung plot
Countplot pada dasarnya menghitung kategori dan mengembalikan hitungan kemunculannya. Ini adalah salah satu plot paling sederhana yang disediakan oleh perpustakaan seaborn
Sintaksis.
countplot[[x, y, hue, data, order, …]]
Contoh.
Python3
________52______0
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]0
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]5
Keluaran.
Penjelasan/Analisis
Melihat plot kita dapat mengatakan bahwa jumlah laki-laki lebih banyak daripada jumlah perempuan dalam kumpulan data. Karena hanya mengembalikan hitungan berdasarkan kolom kategorikal, kita hanya perlu menentukan parameter x
Kotak petak
Sebuah boxplot terkadang dikenal sebagai box and whisker plot. Ini menunjukkan distribusi data kuantitatif yang mewakili perbandingan antar variabel. boxplot menunjukkan kuartil dari dataset sedangkan kumis meluas untuk menunjukkan sisa distribusi i. e. titik-titik yang menunjukkan adanya outlier
Sintaksis.
boxplot[[x, y, hue, data, order, hue_order, …]]
Contoh.
Python3
________52______6
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
# import the seaborn library
4countplot[[x, y, hue, data, order, …]]7
# import the seaborn library
6________11Keluaran.
Penjelasan/Analisis –
x mengambil kolom kategori dan y adalah kolom numerik. Maka kita dapat melihat total tagihan yang dihabiskan setiap hari. Parameter "hue" digunakan untuk menambahkan pemisahan kategori lebih lanjut. Dengan melihat plotnya kita dapat mengatakan bahwa orang yang tidak merokok memiliki tagihan yang lebih tinggi pada hari Jumat dibandingkan dengan orang yang merokok
Biola plot
Hal ini mirip dengan boxplot kecuali memberikan visualisasi yang lebih tinggi, lebih maju dan menggunakan estimasi kepadatan kernel untuk memberikan gambaran yang lebih baik tentang distribusi data.
Sintaksis.
violinplot[[x, y, hue, data, order, …]]
Contoh.
Python3
# import the seaborn library
8
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8________222_______1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
# import the seaborn library
_________22222222222222222222222222_________________________________________________________________________________________________________________________________________________________________________________________________Keluaran.
Penjelasan/Analisis –
- hue digunakan untuk memisahkan data lebih lanjut dengan menggunakan kategori jenis kelamin
- pengaturan split=True akan menggambar setengah biola untuk setiap level. Ini dapat mempermudah untuk membandingkan distribusi secara langsung
Stripplot
Ini pada dasarnya membuat plot pencar berdasarkan kategori
Sintaksis.
stripplot[[x, y, hue, data, order, …]]
Contoh.
Python3
seaborn as sns
3
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
swarmplot[[x, y, hue, data, order, …]]2
countplot[[x, y, hue, data, order, …]]02
countplot[[x, y, hue, data, order, …]]03
countplot[[x, y, hue, data, order, …]]7
seaborn as sns
1countplot[[x, y, hue, data, order, …]]06
countplot[[x, y, hue, data, order, …]]7
# import the seaborn library
6countplot[[x, y, hue, data, order, …]]09
countplot[[x, y, hue, data, order, …]]7
seaborn as sns
1boxplot[[x, y, hue, data, order, hue_order, …]]0
Keluaran.
Penjelasan/Analisis –
- Satu masalah dengan strip plot adalah Anda tidak dapat benar-benar mengetahui titik mana yang ditumpuk satu sama lain dan karenanya kami menggunakan parameter jitter untuk menambahkan beberapa noise acak
- parameter jitter digunakan untuk menambahkan jumlah jitter [hanya di sepanjang sumbu kategori] yang dapat berguna ketika Anda memiliki banyak titik dan tumpang tindih, sehingga lebih mudah untuk melihat distribusinya
- rona digunakan untuk memberikan tambahan pemisahan kategori
- pengaturan split=True digunakan untuk menggambar plot strip terpisah berdasarkan kategori yang ditentukan oleh parameter hue
Swarmplot
Ini sangat mirip dengan stripplot kecuali fakta bahwa titik-titiknya disesuaikan sehingga tidak tumpang tindih. Beberapa orang juga suka menggabungkan ide plot biola dan stripplot untuk membentuk plot ini. Salah satu kelemahan menggunakan swarmplot adalah kadang-kadang mereka tidak menskalakan dengan baik ke jumlah yang sangat besar dan membutuhkan banyak perhitungan untuk mengaturnya. Jadi jika kita ingin memvisualisasikan swarmplot dengan benar, kita dapat memplotnya di atas plot biola
Sintaksis.
swarmplot[[x, y, hue, data, order, …]]
Contoh.
Python3
countplot[[x, y, hue, data, order, …]]13
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]5
Keluaran.
Contoh.
Python3
# import the seaborn library
8
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]5
countplot[[x, y, hue, data, order, …]]13
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
countplot[[x, y, hue, data, order, …]]39
countplot[[x, y, hue, data, order, …]]7________2______41________11_____
Keluaran.
Plot faktor
Ini adalah yang paling umum dari semua plot ini dan menyediakan parameter yang disebut jenis untuk memilih jenis plot yang kita inginkan sehingga menyelamatkan kita dari kesulitan menulis plot ini secara terpisah. Parameter jenis dapat berupa bar, biola, kawanan, dll
Sintaksis.
sns.factorplot[[x, y, hue, data, row, col, …]]
Contoh.
Python3
countplot[[x, y, hue, data, order, …]]43
countplot[[x, y, hue, data, order, …]]7
sns.factorplot[[x, y, hue, data, row, col, …]]8
violinplot[[x, y, hue, data, order, …]]1
countplot[[x, y, hue, data, order, …]]7
violinplot[[x, y, hue, data, order, …]]3
violinplot[[x, y, hue, data, order, …]]4
countplot[[x, y, hue, data, order, …]]7
countplot[[x, y, hue, data, order, …]]51
countplot[[x, y, hue, data, order, …]]7
countplot[[x, y, hue, data, order, …]]53________11_____