Plt hình con trăn

Trước hết, để thuận tiện cho các ví dụ, ta nhập mô-đun pyplot của thư viện matplotlib với tên gọi tắt là plt và sử dụng xuyêt trong suốt các ví dụ

import matplotlib.pyplot as plt

Nhân tiện, chúng ta ôn lại một chút về Python cơ bản. Như đã nói trong bài viết Hiểu đúng về Tên và Giá trị trong Python, lệnh nhập cũng là lệnh gán trong Python. Biến 

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
1 bây giờ sẽ đại diện cho đối tượng matplotlib. pyplot đã được gọi vào bộ nhớ. OK, chúng ta hãy bắt đầu.

1. Chính xác thì Hình là gì?

Một hình như ta thường thấy là một đối tượng của lớp hình trong thư viện matplotlib. Lớp hình được định nghĩa trong mô-đun matplotlib. hình, lớp này chứa tất cả các thành phần của một hình vẽ [vùng chứa cấp cao nhất cho tất cả các thành phần cốt truyện]. Tức là mọi thuộc tính, phương thức của hình vẽ đều được định nghĩa trong lớp này.

Để khởi tạo một hình trống, ta chỉ đơn giản gọi phương thức 

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
2 của
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
1

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]

Khi đó, biến

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
1 trở thành một thể hiện của lớp hình . Lưu ý, sau khi khởi động, 
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
1 chỉ là tham chiếu đến một đối tượng thực sự trên RAM. Để xuất hiện cửa sổ hình , thông thường ta gọi lệnh 
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
3 [Mình sẽ nói về chất lượng của lệnh này ở phía sau]. Ta sẽ có một cửa sổ trống tương tự như sau [tùy chỉnh theo hệ thống điều hành].

Như ta thấy, tên của cửa sổ là “Hình 1”. This name is do matplotlib auto set for. To set name for figure ngay lúc khởi động, ta chỉ cần đưa vào một chuỗi khi gọi hàm

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
4, ví dụ.
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
5. Mẹo. chữ
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
6 phía trước đề khai báo chuỗi Unicode.

Như vậy, về mặt trực quan thì hình là cái cửa sổ chứa tất cả những gì bạn sẽ vẽ trên đó.

2. Thành phần chính của một hình?

Thành phần chính của một hình là các  trục  . Một hình có thể chứa một hoặc nhiều trục. Nói cách khác, hình chỉ là các khung chứa, các trục chính mới .

Theo object language thì. hình có thuộc tính kiểu

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
7 gọi là trục . Danh sách này chứa các  trục  của hình đó. Mỗi trục là một đối tượng của lớp Trục  [ this layer was known . trục]. Mỗi trục có thể chứa một hoặc nhiều hình vẽ [lô].

Như vậy, các phần tử như. đường vẽ [lô], các điểm chia [tick], tên của các trục tốc độ [xlabel, ylabel],… đều là con của axes chứ . Vì thế, sẽ không có những phương pháp gọi từ figure. Vì thế, sẽ không có những methods gọi từ hình kiểu như.

  • quả sung. mảnh đất[]
  • quả sung. get_xlabel[]
  • quả sung. set_xticks[]

Sau đây là ví dụ của một hình có nhiều trục chồng chéo nhau

# Khởi tạo một figure trống
fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']

# Thêm axes bằng lệnh add_subplot
fig3.add_subplot[1,1,1, facecolor='white']

# Thêm axes bằng lệnh add_axes
fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']

# Thêm tiếp một axes bằng lệnh add_subplot
# Viết tắt của fig3.add_subplot[1,3,2]
fig3.add_subplot[132, facecolor=[0,0,0,0.5]]

# Hiện hình vẽ lên
fig3.show[]

Tất nhiên, trong thực tế không ai bố trí các trục  một cách xấu xí như vậy. Ví dụ trên chỉ cho thấy. một hình có thể có nhiều trục tùy thích, có thể bổ sung . axes bất kỳ lúc nào vì chúng là các đối tượng độc lập [chúng ta để ý thấy trong mỗi axes, các trục tọa độ luôn là từ 0 đến 1].

3. Quản lý các trục trong hình

Làm thế nào để truy cập và chỉnh sửa [thay đổi màu, thay đổi vị trí,…] các trục đã thêm vào figure? Để dễ hình dung, chúng ta tiếp tục ví dụ phía trên.

Như đã nói, tất cả các trục của hình đều được liệt kê trong

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
8, nhưng danh sách này là Read-only. Vì thế để lấy danh sách các trục  và thay đổi chúng, ta phải sử dụng phương thức
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
9 của
# Khởi tạo một figure trống
fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']

# Thêm axes bằng lệnh add_subplot
fig3.add_subplot[1,1,1, facecolor='white']

# Thêm axes bằng lệnh add_axes
fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']

# Thêm tiếp một axes bằng lệnh add_subplot
# Viết tắt của fig3.add_subplot[1,3,2]
fig3.add_subplot[132, facecolor=[0,0,0,0.5]]

# Hiện hình vẽ lên
fig3.show[]
0 [điều này không có gì lạ nếu bạn đã có .

Giả sử bây giờ ta muốn loại bỏ tất cả các điểm chia tọa độ đi, thêm vào mỗi trục dòng chữ “TEXmath” ở góc dưới . Chỉ cần sử dụng vòng lặp cho như sau.

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
3

4. Một số thuộc tính khác của hình

Hình có một thuộc tính rất quan trọng đó là

# Khởi tạo một figure trống
fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']

# Thêm axes bằng lệnh add_subplot
fig3.add_subplot[1,1,1, facecolor='white']

# Thêm axes bằng lệnh add_axes
fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']

# Thêm tiếp một axes bằng lệnh add_subplot
# Viết tắt của fig3.add_subplot[1,3,2]
fig3.add_subplot[132, facecolor=[0,0,0,0.5]]

# Hiện hình vẽ lên
fig3.show[]
1. Thuộc tính này quy định kích thước cửa sổ hình [theo đơn vị inch]. Ví dụ.

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
5

    

Tiếp theo là thuộc tính 

# Khởi tạo một figure trống
fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']

# Thêm axes bằng lệnh add_subplot
fig3.add_subplot[1,1,1, facecolor='white']

# Thêm axes bằng lệnh add_axes
fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']

# Thêm tiếp một axes bằng lệnh add_subplot
# Viết tắt của fig3.add_subplot[1,3,2]
fig3.add_subplot[132, facecolor=[0,0,0,0.5]]

# Hiện hình vẽ lên
fig3.show[]
2 và 
# Khởi tạo một figure trống
fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']

# Thêm axes bằng lệnh add_subplot
fig3.add_subplot[1,1,1, facecolor='white']

# Thêm axes bằng lệnh add_axes
fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']

# Thêm tiếp một axes bằng lệnh add_subplot
# Viết tắt của fig3.add_subplot[1,3,2]
fig3.add_subplot[132, facecolor=[0,0,0,0.5]]

# Hiện hình vẽ lên
fig3.show[]
3

  • # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    2 quy định màu của các khung bao quanh tất cả các trục trong hình đó
  • # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    3 quy định độ dày của khung bao này
  • # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    6 quy định màu nền của hình
  • Mẹo. Default value of them as after.
    # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    7, 
    # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    8, 
    # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    9. Vì thế, nếu ta chỉ đổi màu 
    # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    2 thì vẫn chưa thấy khung viền này, mà ta còn phải tăng giá trị 
    # Khởi tạo một figure trống
    fig3 = plt.figure[u'Các axes chồng chéo nhau trong một figure']
    
    # Thêm axes bằng lệnh add_subplot
    fig3.add_subplot[1,1,1, facecolor='white']
    
    # Thêm axes bằng lệnh add_axes
    fig3.add_axes[[0.1, 0.4, 0.4, 0.3], facecolor=[0,0,1]]
    fig3.add_axes[[0.6, 0.2, 0.4, 0.3], facecolor='#ff0000']
    
    # Thêm tiếp một axes bằng lệnh add_subplot
    # Viết tắt của fig3.add_subplot[1,3,2]
    fig3.add_subplot[132, facecolor=[0,0,0,0.5]]
    
    # Hiện hình vẽ lên
    fig3.show[]
    3 lên
  • # Khởi tạo figure trống
    fig1 = plt.figure[]
    
    # Gọi phương thức show[] của pyplot để hiện figure hiện tại
    plt.show[]
    32 độ phân giải của hình [dots per inch]. default value is 100.
    # Khởi tạo figure trống
    fig1 = plt.figure[]
    
    # Gọi phương thức show[] của pyplot để hiện figure hiện tại
    plt.show[]
    32 càng cao thì chất lượng ảnh càng cao
5. Lưu đúng cách

Ta know, to save a figure ta use method

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
34. Tuy nhiên, có một số lưu ý khi sử dụng.

Giả sử ta vẽ hình sau đây trên một hình có nền màu xám như sau

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
9

Lưu ý. method

# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
35 dùng để gọi đến trục đang ở trạng thái hoạt động trong hình . Nếu hình chưa có trục nào thì
# Khởi tạo figure trống
fig1 = plt.figure[]

# Gọi phương thức show[] của pyplot để hiện figure hiện tại
plt.show[]
35 sẽ tạo ra một

Chủ Đề