Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đặt độ trong suốt (opacity) khác nhau cho edgecolor và facecolor của patch trong Matplotlib


Giới thiệu

Để đặt opacity khác nhau cho viền (edge) và nền (face) của patch, dùng tuple màu RGBA (4 giá trị), trong đó giá trị thứ 4 là alpha (0-1).

Các bước

  1. Thiết lập kích thước hình và padding.
  2. Tạo figure và subplots.
  3. Đặt giá trị opacity cho edge và face.
  4. Thêm patch hình chữ nhật bằng add_patch() với edgecolor và facecolor dạng tuple RGBA.
  5. Gọi show().

Ví dụ

from matplotlib import pyplot as plt, patches

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

figure, ax = plt.subplots()
edge_color_opacity = 1   # 0 < val < 1
face_color_opacity = 0.75 # 0 < val < 1

ax.add_patch(patches.Rectangle((.25, .25), .50, .50,
    edgecolor=(1, 0, 0, edge_color_opacity),
    facecolor=(0, 1, 0, face_color_opacity),
    linewidth=2))
plt.show()

Kết quả

Đặt độ trong suốt (opacity) khác nhau cho edgecolor và facecolor của patch trong Matplotlib