Menggabungkan Grafik dengan Subplot dan Subplot2grid di Matplotlib

Menggabungkan Grafik dengan Subplot dan Subplot2grid di Matplotlib

Matplotlib adalah salah satu library terpopuler dalam bahasa pemrograman Python yang digunakan untuk membuat grafik. Salah satu fitur yang paling populer di Matplotlib adalah kemampuan untuk menggabungkan lebih dari satu grafik dalam satu plot. Dalam artikel ini, kita akan belajar tentang cara menggunakan fungsi subplot dan subplot2grid untuk menggabungkan grafik.

Subplot

Fungsi subplot digunakan untuk membuat subplot, yaitu beberapa plot yang dikemas dalam sebuah plot induk. Fungsi ini memiliki beberapa parameter, seperti berikut:

  • sharex dan sharey: Parameter ini menentukan apakah properties antara axis horizontal dan vertical harus disimpan atau tidak. Nilai defaultnya adalah False.
  • squeeze: Parameter ini adalah boolean yang digunakan untuk menghilangkan dimensi ekstra dari array. Nilai defaultnya adalah False.
  • subplot_kw: Parameter ini memungkinkan kita menambahkan kata kunci ke subplot dan nilai defaultnya adalah None.
  • gridspec_kw: Parameter ini memungkinkan kita menambahkan grid pada subplot dan nilai defaultnya juga adalah None.
  • fig_kw: Parameter ini memungkinkan kita menambahkan keyword tambahan ke fungsi panggilan dan nilai defaultnya adalah None.

Contoh:

import matplotlib.pyplot as plt
import numpy as np
import math

X = np.arange(0, math.pi*2, 0.05)

Y1 = np.sin(X)
Y2 = np.cos(X)
Y3 = np.tan(X)
Y4 = np.tanh(X)

figure, axis = plt.subplots(2, 2)

axis[0, 0].plot(X, Y1)
axis[0, 0].set_title("Sine Function")

axis[0, 1].plot(X, Y2)
axis[0, 1].set_title("Cosine Function")

axis[1, 0].plot(X, Y3)
axis[1, 0].set_title("Tangent Function")

axis[1, 1].plot(X, Y4)
axis[1, 1].set_title("Tanh Function")

plt.show()

Output:

Grafik multiple dengan fungsi subplot

Subplot2grid

Fungsi subplot2grid adalah fungsi lain yang mirip dengan subplot, tetapi memberikan lebih banyak fleksibilitas untuk mengatur plot objects sesuai kebutuhan programmer. Fungsi ini memiliki beberapa parameter, seperti berikut:

  • shape: Parameter ini adalah sequence dua nilai integer yang menentukan bentuk grid untuk yang kita perlukan.
  • loc: Parameter ini adalah sequence dua nilai integer yang menentukan lokasi axis dalam grid.
  • rowspan dan colspan: Parameter ini memungkinkan kita menentukan berapa banyak baris dan kolom akan digunakan oleh axis.
  • fig: Parameter ini adalah opsi dan memungkinkan kita menambahkan figure ke subplot.
  • **kwargs: Parameter ini memungkinkan kita menambahkan keyword tambahan ke fungsi panggilan.

Contoh:

import matplotlib.pyplot as plt
import numpy as np
import math

plot1 = plt.subplot2grid((3, 3), (0, 0), colspan=2)
plot2 = plt.subplot2grid((3, 3), (0, 2), rowspan=3, colspan=2)
plot3 = plt.subplot2grid((3, 3), (1, 0), rowspan=2)

x = np.arange(1, 10)

plot2.plot(x, x**0.5)
plot2.set_title('Square Root')

plot1.plot(x, np.exp(x))
plot1.set_title('Exponent')

plot3.plot(x, x*x)
plot.set_title('Square')

plt.tight_layout()
plt.show()

Output:

Grafik multiple dengan fungsi subplot2grid

Plotting dalam Grafik yang Sama

Sekarang kita telah belajar cara menggabungkan grafik menggunakan fungsi subplot dan subplot2grid, kita akan melihat cara plot beberapa kurva di atas yang lain. Dalam metode ini, kita tidak menggunakan fungsi khusus, tetapi langsung memplot kurva satu atas lain dan mencoba untuk menyesuaikan skala.

Contoh:

import matplotlib.pyplot as plt
import numpy as np
import math

X = np.arange(0, math.pi*2, 0.05)

y = np.sin(X)
z = np.cos(X)

plt.plot(X, y)
plt.plot(X, z)

plt.show()

Output:

Grafik dengan beberapa kurva di atas yang lain