Theo thông tin từ @naitsirhc, tôi muốn tìm tài liệu API chính thức. Dưới đây là phát hiện của tôi và một số mã mẫu.
- Tôi đã tạo ra một
matplotlib.Axes
đối tượng bằng cách seaborn.scatterplot()
.
- Các
ax.get_legend()
sẽ trả về một matplotlib.legned.Legend
ví dụ.
- Cuối cùng, bạn gọi
.remove()
hàm để xóa chú giải khỏi cốt truyện của bạn.
ax = sns.scatterplot(......)
_lg = ax.get_legend()
_lg.remove()
Nếu bạn kiểm tra matplotlib.legned.Legend
tài liệu API, bạn sẽ không thấy .remove()
chức năng.
Lý do là sự matplotlib.legned.Legend
kế thừa matplotlib.artist.Artist
. Do đó, khi bạn gọi ax.get_legend().remove()
mà về cơ bản gọi matplotlib.artist.Artist.remove()
.
Cuối cùng, bạn thậm chí có thể đơn giản hóa mã thành hai dòng.
ax = sns.scatterplot(......)
ax.get_legend().remove()
ax.get_legend().remove()
giải pháp không hoạt động trong trường hợp của tôi, trong khi giải pháp thứ hai (legend = ax.legend() ... legend.remove()
) hoạt động. có lẽ vìax
là mộtAxesSubplot
trong trường hợp của tôi?