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.Legendví 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.Legendtài liệu API, bạn sẽ không thấy .remove()chức năng.
Lý do là sự matplotlib.legned.Legendkế 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ìaxlà mộtAxesSubplottrong trường hợp của tôi?