Để thay đổi độ trong suốt (transparency/opaqueness) của bảng (table) trong Matplotlib, bạn có thể thực hiện theo các bước sau:
Các bước thực hiện
- Thiết lập kích thước hình vẽ và điều chỉnh khoảng cách giữa các subplot.
- Tạo figure và tập hợp subplot.
- Tạo tập dữ liệu ngẫu nhiên kích thước 10×3.
- Tạo tuple các cột (columns).
- Ẩn các dấu hiệu trục tọa độ bằng
axis('off'). - Tạo bảng với dữ liệu và nhãn cột.
- Duyệt qua từng ô của bảng và thay đổi độ trong suốt bằng phương thức set_alpha().
- Sử dụng phương thức show() để hiển thị hình vẽ.
Ví dụ minh họa
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, axs = plt.subplots(1, 1)
data = np.random.random((10, 3))
columns = ("Column I", "Column II", "Column III")
axs.axis('off')
the_table = axs.table(cellText=data, colLabels=columns, loc='center')
for k, cell in the_table._cells.items():
cell.set_edgecolor('black')
if k[0] == 0 or k[1] < 0:
cell.set_text_props(weight='bold', color='w')
cell.set_facecolor('red')
cell.set_alpha(0.5)
else:
cell.set_facecolor(['green', 'yellow'][k[0] % 2])
cell.set_alpha(0.5)
plt.show()
Kết quả đầu ra
Bảng dữ liệu với hàng tiêu đề màu đỏ, các hàng dữ liệu xen kẽ xanh lá/vàng, tất cả có độ trong suốt 50% (alpha=0.5).