Jadi, jika kita menginginkan gambar dengan 2 baris dan 1 kolom (artinya dua plot akan ditampilkan di atas satu sama lain, bukan berdampingan), kita dapat menulis sintaks seperti ini
Contoh
Gambar 2 plot di atas satu sama lain
impor matplotlib. pyplot sebagai plt
impor numpy sebagai np
#plot 1
x = np. larik([0, 1, 2, 3])
y = np. larik([3, 8, 1, 10])
plt. subplot(2, 1, 1)
plt. plot(x,y)
#plot 2
x = np. larik([0, 1, 2, 3])
y = np. larik([10, 20, 30, 40])
plt. subplot(2, 1, 2)
plt. plot(x,y)
plt. menunjukkan()
Hasil
Anda dapat menggambar plot sebanyak yang Anda suka pada satu gambar, cukup tuliskan jumlah baris, kolom, dan indeks plot
Contoh
Gambar 6 plot
impor matplotlib. pyplot sebagai plt
impor numpy sebagai np
x = np. larik([0, 1, 2, 3])
y = np. larik([3, 8, 1, 10])
plt. subplot(2, 3, 1)
plt. plot(x,y)
x = np. larik([0, 1, 2, 3])
y = np. larik([10, 20, 30, 40])
plt. subplot(2, 3, 2)
plt. plot(x,y)
x = np. larik([0, 1, 2, 3])
y = np. larik([3, 8, 1, 10])
plt. subplot(2, 3, 3)
plt. plot(x,y)
x = np. larik([0, 1, 2, 3])
y = np. larik([10, 20, 30, 40])
plt. subplot(2, 3, 4)
plt. plot(x,y)
x = np. larik([0, 1, 2, 3])
y = np. larik([3, 8, 1, 10])
plt. subplot(2, 3, 5)
plt. plot(x,y)
x = np. larik([0, 1, 2, 3])
y = np. larik([10, 20, 30, 40])
plt. subplot(2, 3, 6)
plt. plot(x,y)
plt. menunjukkan()
Hasil
Belajar Memfilter Data dengan Python Seperti Analis Data
Cobalah sesi pelatihan langsung dengan panduan langkah demi langkah dari seorang ahli. Coba proyek terpandu yang dibuat bekerja sama dengan Coursera sekarang
Saat memvisualisasikan data, seringkali ada kebutuhan untuk memplot beberapa grafik dalam satu gambar. Misalnya, banyak grafik berguna jika Anda ingin memvisualisasikan variabel yang sama tetapi dari sudut yang berbeda (mis. g. histogram dan plot kotak berdampingan untuk variabel numerik). Dalam posting ini, saya membagikan 4 tips sederhana namun praktis untuk memplot banyak grafik
Photo by Pawel Czerwinski on Unsplash
Kumpulan data 📦
Mari impor paket dan perbarui pengaturan default untuk bagan untuk menambahkan sedikit gaya pribadi ke bagan. Kami akan menggunakan kumpulan data bawaan Seaborn untuk tip
import seaborn as sns # v0.11.2import matplotlib.pyplot as plt # v3.4.2
sns.set(style='darkgrid', context='talk', palette='rainbow')df = sns.load_dataset('tips')
df.head()
📍Tip 1. plt. subplot()
Salah satu cara mudah untuk memplot banyak subplot adalah dengan menggunakan fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);0. Berikut adalah contoh sintaks untuk memplot 2 subplot berdampingan
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);_
Di sini, kami memplot dua subplot dalam satu gambar. Kami selanjutnya dapat menyesuaikan setiap subplot. Misalnya, kita dapat menambahkan judul ke setiap subplot seperti ini
fig, ax = plt.subplots(1, 2, figsize=(10,4))sns.histplot(data=df, x='tip', ax=ax[0])
ax[0].set_title("Histogram")
sns.boxplot(data=df, x='tip', ax=ax[1])
ax[1].set_title("Boxplot");
Kita dapat memvisualisasikan kumpulan grafik yang sama untuk semua variabel numerik dalam satu lingkaran
numerical = df.select_dtypes('number').columnsfor col in numerical:fig, ax = plt.subplots(1, 2, figsize=(10,4))
sns.histplot(data=df, x=col, ax=ax[0])
sns.boxplot(data=df, x=col, ax=ax[1]);_
📍Tip 2. plt. anak petak()
Cara lain untuk memvisualisasikan banyak grafik adalah dengan menggunakan fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);1 tanpa fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);2 di akhir). Sintaksnya sedikit berbeda dari sebelumnya
ax1 = plt.subplot(1,2,1)
sns.histplot(data=df, x='tip', ax=ax1)
ax2 = plt.subplot(1,2,2)
sns.boxplot(data=df, x='tip', ax=ax2);
Pendekatan ini sangat berguna jika Anda ingin memplot jenis grafik yang sama untuk beberapa plot dan melihat semuanya dalam satu gambar
plt.figure(figsize=(14,4))for i, col in enumerate(numerical):
ax = plt.subplot(1, len(numerical), i+1)
sns.boxplot(data=df, x=col, ax=ax)_
Kami selanjutnya dapat menyesuaikan setiap subplot seperti sebelumnya. Misalnya, mari tambahkan judul untuk setiap plot
plt.figure(figsize=(14,4))for i, col in enumerate(numerical):
ax = plt.subplot(1, len(numerical), i+1)
sns.boxplot(data=df, x=col, ax=ax)
ax.set_title(f"Boxplot of {col}")_
Setelah mempelajari fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);0 dan fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);1, perbandingan di bawah ini dapat membantu dalam memahami persamaan dan perbedaan
Sangat berguna untuk memahami kedua pendekatan tersebut karena dapat berguna dalam situasi yang berbeda
📍Tip 3. plt. ketat_tata letak()
Saat memplot beberapa grafik, biasanya terlihat label beberapa subplot tumpang tindih dengan subplot tetangganya seperti ini
for i, col in enumerate(categorical):
ax = plt.subplot(2, 2, i+1)
sns.countplot(data=df, x=col, ax=ax)
Nama variabel pada sumbu x untuk dua bagan teratas dipotong dan label sumbu y dari plot di sebelah kanan tumpang tindih dengan subplot di sebelah kiri. Memperbaiki ini mudah dengan fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);_5
for i, col in enumerate(categorical):
ax = plt.subplot(2, 2, i+1)
sns.countplot(data=df, x=col, ax=ax)
plt.tight_layout()
Voila. Ini terlihat jauh lebih baik sekarang. Saya hampir selalu menggunakan fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4))
sns.histplot(data=df, x='tip', ax=ax[0])
sns.boxplot(data=df, x='tip', ax=ax[1]);_5 saat memplot banyak grafik untuk mencegah tumpang tindih
📍Tip 4. plt. judul()
Terakhir, tip ini berguna jika Anda ingin memberi judul pada seluruh gambar
plt.figure(figsize=(8, 8))for i, col in enumerate(categorical):
ax = plt.subplot(2, 2, i+1)
sns.countplot(data=df, x=col, ax=ax)
plt.suptitle('Category counts for all categorical variables')
plt.tight_layout()
Selain itu, Anda dapat menyesuaikan masing-masing plot sesuka Anda. Misalnya, Anda juga masih dapat menambahkan judul untuk setiap subplot
Foto oleh engin akyurt di Unsplash
Apakah Anda ingin mengakses lebih banyak konten seperti ini? . Jika Anda menjadi anggota menggunakan tautan referensi saya, sebagian dari biaya keanggotaan Anda akan langsung digunakan untuk mendukung saya
terimakasih telah membaca artikel ini. Semoga Anda dapat menerapkan tip berguna ini saat merencanakan beberapa subplot lain kali dengan Python. Jika Anda seorang pembelajar yang rajin dan ingin mempelajari lebih lanjut tentang topik tersebut, sumber daya ini sangat membantu. Jika Anda tertarik untuk mempelajari lebih lanjut tip visualisasi data, berikut adalah beberapa posting saya tentang visualisasi data