Bài 9: Multiplots – Matplotib Cơ Bản

Trang chủ » Training » Bài 9: Multiplots – Matplotib Cơ Bản
26/02/2022 Training 75 viewed
Trong bài này, ta sẽ tìm hiểu cách tạo nhiều plot trên cùng một khung vẽ.
Hàm subplot () trả về đối tượng trục tại một vị trí lưới nhất định. Call signature của hàm này là –
plt.subplot(subplot(nrows, ncols, index)
Trong hình hiện tại, hàm tạo và trả về một đối tượng Axes, tại chỉ số vị trí của lưới các nrows theo ncolsaxes. Các index đi từ 1 đến nrows * ncols, tăng dần theo thứ tự hàng-chính. Nếunrows, ncol và chỉ mục đều nhỏ hơn 10. Các chỉ mục cũng có thể được cung cấp dưới dạng số đơn, nối, thứ tự
Ví dụ: subplot (2, 3, 3) và subplot (233) đều tạo Axes ở góc trên cùng bên phải của hình hiện tại, chiếm một nửa chiều cao hình và một phần ba chiều rộng hình.
Việc tạo một subplot sẽ xóa mọi subplot tồn tại trước đó chồng lên nó ngoài việc chia sẻ ranh giới.
import matplotlib.pyplot as plt
# plot a line, implicitly creating a subplot(111)
plt.plot([1,2,3])
# now create a subplot which represents the top plot of a grid with 2 rows and 1 column.
#Since this subplot will overlap the first, the plot (and its axes) previously 
created, will be removed
plt.subplot(211)
plt.plot(range(12))
plt.subplot(212, facecolor='y') # creates 2nd subplot with yellow background
plt.plot(range(12))
Kết quả như sau :
Hàm add_subplot () của lớp figure sẽ không ghi đè lên phần hiện có –
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot([1,2,3])
ax2 = fig.add_subplot(221, facecolor='y')
ax2.plot([1,2,3])
Khi dòng mã trên được thực thi, nó tạo ra kết quả sau:
Ta có thể thêm một plot chèn trong cùng một hình bằng cách thêm một trục khác trong cùng khung vẽ.
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
fig=plt.figure()
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # inset axes
y = np.sin(x)
axes1.plot(x, y, 'b')
axes2.plot(x,np.cos(x),'r')
axes1.set_title('sine')
axes2.set_title("cosine")
plt.show()
Kết quả sau khi thực thi đoạn code :
Chia sẻ:
Tags:
TOP HOME