Cara membuat plot matplotlib dengan dua sumbu y


Cara termudah untuk membuat plot Matplotlib dengan dua sumbu y adalah dengan menggunakan fungsi twinx() .

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Buat plot Matplotlib dengan dua sumbu Y

Mari kita asumsikan kita memiliki dua panda DataFrames berikut:

 import pandas as pd

#createDataFrames
df1 = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                    ' sales ': [14, 16, 19, 22, 24, 25, 24, 24, 27, 30]})

df2 = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                    ' leads ': [4, 4, 4, 5, 4, 5, 7, 8, 5, 3]})

Kedua DataFrame berbagi variabel “tahun” yang berkisar antara 1 hingga 10, namun DataFrame pertama menampilkan total penjualan setiap tahun sedangkan DataFrame kedua menampilkan total prospek setiap tahun.

Kita dapat menggunakan kode berikut untuk membuat plot Matplotlib yang menampilkan penjualan dan prospek pada grafik dengan dua sumbu Y:

 import matplotlib. pyplot as plt

#define colors to use
col1 = ' steelblue '
col2 = ' red '

#define subplots
fig,ax = plt. subplots ()

#add first line to plot
ax. plot (df1. year , df1. sales , color=col1)

#add x-axis label
ax. set_xlabel (' Year ', fontsize= 14 )

#add y-axis label
ax. set_ylabel (' Sales ', color=col1, fontsize= 16 )

#define second y-axis that shares x-axis with current plot
ax2 = ax. twinx ()

#add second line to plot
ax2. plot (df2. year , df2. leads , color=col2)

#add second y-axis label
ax2. set_ylabel (' Leads ', color=col2, fontsize= 16 )

Matplotlib dengan dua sumbu y

Sumbu y di sisi kiri diagram menunjukkan total penjualan per tahun dan sumbu y di sisi kanan diagram menunjukkan total prospek per tahun.

Garis biru pada grafik menunjukkan total penjualan per tahun dan garis merah menunjukkan total prospek per tahun.

Jangan ragu untuk menggunakan argumen penanda dan lebar garis untuk mengubah tampilan garis pada bagan:

 import matplotlib. pyplot as plt

#define colors to use
col1 = ' steelblue '
col2 = ' red '

#define subplots
fig,ax = plt. subplots ()

#add first line to plot
ax. plot (df1. year , df1. sales , color=col1, marker=' o ', linewidth= 3 )

#add x-axis label
ax. set_xlabel (' Year ', fontsize= 14 )

#add y-axis label
ax. set_ylabel (' Sales ', color=col1, fontsize= 16 )

#define second y-axis that shares x-axis with current plot
ax2 = ax. twinx ()

#add second line to plot
ax2. plot (df2. year , df2. leads , color=col2, marker=' o ', linewidth= 3 )

#add second y-axis label
ax2. set_ylabel (' Leads ', color=col2, fontsize= 16 ) 

Perhatikan bahwa kedua garis sekarang lebih lebar dan berisi penanda “o” untuk menampilkan titik data individual.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di Matplotlib:

Cara menyesuaikan posisi label sumbu di Matplotlib
Cara mengatur rentang sumbu di Matplotlib
Cara mengatur nilai sumbu X di Matplotlib

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *