Pandas: cara memplot beberapa dataframe dalam subplot
Anda dapat menggunakan sintaks dasar berikut untuk memplot beberapa DataFrame panda dalam subplot:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Merencanakan Beberapa DataFrame Pandas di Subplot
Katakanlah kita memiliki empat panda DataFrames yang berisi informasi tentang penjualan dan pengembalian di empat toko ritel berbeda:
import pandas as pd #create four DataFrames df1 = pd. DataFrame ({' sales ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24], ' returns ': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]}) df2 = pd. DataFrame ({' sales ': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7], ' returns ': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]}) df3 = pd. DataFrame ({' sales ': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12], ' returns ': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]}) df4 = pd. DataFrame ({' sales ': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2], ' returns ': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})
Kita dapat menggunakan sintaks berikut untuk memplot masing-masing DataFrames ini dalam subplot yang memiliki tata letak 2 baris dan 2 kolom:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Masing-masing dari empat DataFrames ditampilkan dalam subplot.
Perhatikan bahwa kami menggunakan argumen sumbu untuk menentukan di mana setiap DataFrame harus ditempatkan.
Misalnya DataFrame bernama df1 ditempatkan pada posisi dengan nilai indeks baris 0 dan nilai indeks kolom 0 (misalnya subplot di pojok kiri atas).
Perhatikan juga bahwa Anda dapat mengubah tata letak subplot menggunakan argumen nrows dan ncols .
Misalnya, kode berikut menunjukkan cara mengatur subplot menjadi empat baris dan satu kolom:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 4 , ncols= 1 ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Subplot kini disusun dalam tata letak dengan empat baris dan satu kolom.
Perhatikan bahwa jika Anda ingin subplot memiliki skala yang sama pada sumbu y dan x, Anda dapat menggunakan argumen sharey dan sharex .
Misalnya, kode berikut menunjukkan cara menggunakan argumen sharey untuk memaksa semua subplot memiliki skala yang sama pada sumbu Y:
import matplotlib. pyplot as plt #define subplot layout, force subplots to have same y-axis scale fig, axes = plt. subplots (nrows= 4 , ncols= 1 , sharey= True ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Perhatikan bahwa sumbu Y setiap subplot kini berkisar antara 0 hingga 20.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara Membuat Diagram Lingkaran dari Pandas DataFrame
Cara membuat titik cloud dari Pandas DataFrame
Cara membuat histogram dari Pandas DataFrame