Bagaimana Anda memplot dua variabel kategori dalam python?

Kode berikut menunjukkan cara membuat bagan batang untuk memvisualisasikan frekuensi tim dalam DataFrame panda tertentu.
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, …]]
2import
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 library4
countplot[[x, y, hue, data, order, …]]
7# import the seaborn library6________11

Keluaran.  

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 library8

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 sns3

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 sns1
countplot[[x, y, hue, data, order, …]]
06
countplot[[x, y, hue, data, order, …]]
7# import the seaborn library6
countplot[[x, y, hue, data, order, …]]
09
countplot[[x, y, hue, data, order, …]]
7 seaborn as sns1
boxplot[[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 library8

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_____

Bagaimana Anda memplot dua data kategorikal dengan Python?

Bagaimana memplot variabel kategori di Matplotlib? .
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

Grafik apa yang digunakan untuk dua variabel kategori di Python?

Data tentang dua kategori [mis. e. , variabel tingkat nominal atau ordinal] dapat ditampilkan dalam tabel kontingensi dua arah, bagan batang tergugus, atau bagan batang tumpuk . Di sini, kita akan melihat contoh masing-masing.

Bagaimana Anda memplot dua variabel kategori satu sama lain?

Bagan Kolom Tumpuk adalah grafik yang berguna untuk memvisualisasikan hubungan antara dua variabel kategori. Ini membandingkan persentase masing-masing kategori dari satu variabel berkontribusi terhadap total lintas kategori dari variabel kedua.

Bài mới nhất

Chủ Đề