Bài 10: Hàm Subplots() và Subplot2grid() – Matplotib Cơ Bản

Trang chủ » Training » Bài 10: Hàm Subplots() và Subplot2grid() – Matplotib Cơ Bản
26/02/2022 Training 38 viewed

1. Subplots() :

Matplotlib’spyplot API có một hàm tiện lợi được gọi là subplots () hoạt động như một trình bao bọc tiện ích và giúp tạo các bố cục chung của các subplot, bao gồm cả figure bao quanh, trong một lệnh gọi.
Plt.subplots(nrows, ncols)
Hai đối số nguyên cho hàm này chỉ định số hàng và cột của lưới subplot. Hàm trả về một figure và một bộ chứa các trục bằng nrows * ncols. Mỗi trục có thể truy cập được bằng index của nó. Ở đây tôi tạo một subplot gồm 2 hàng x 2 cột và hiển thị 4 ô khác nhau trong mỗi subplot.
import matplotlib.pyplot as plt
fig,a =  plt.subplots(2,2)
import numpy as np
x = np.arange(1,5)
a[0][0].plot(x,x*x)
a[0][0].set_title('square')
a[0][1].plot(x,np.sqrt(x))
a[0][1].set_title('square root')
a[1][0].plot(x,np.exp(x))
a[1][0].set_title('exp')
a[1][1].plot(x,np.log10(x))
a[1][1].set_title('log')
plt.show()
Kết quả như sau :

2. Subplot2grid() ;

Hàm này mang lại sự linh hoạt hơn trong việc tạo một trục tại một vị trí cụ thể của lưới. Nó cũng cho phép trục được kéo dài qua nhiều hàng hoặc cột.
Plt.subplot2grid(shape, location, rowspan, colspan)
Trong ví dụ sau, một lưới 3X3 của figure được lấp đầy bởi các trục có kích thước khác nhau trong các khoảng hàng và cột, mỗi ô hiển thị một biểu đồ khác nhau.
import matplotlib.pyplot as plt
a1 = plt.subplot2grid((3,3),(0,0),colspan = 2)
a2 = plt.subplot2grid((3,3),(0,2), rowspan = 3)
a3 = plt.subplot2grid((3,3),(1,0),rowspan = 2, colspan = 2)
import numpy as np
x = np.arange(1,10)
a2.plot(x, x*x)
a2.set_title('square')
a1.plot(x, np.exp(x))
a1.set_title('exp')
a3.plot(x, np.log(x))
a3.set_title('log')
plt.tight_layout()
plt.show()
Kết quả :
Chia sẻ:
Tags:
TOP HOME