Untuk menambahkan legenda ke plot matplotlib, cukup jalankan legend()
.
Bagaimana cara menghapus legenda dari plot?
(Yang paling dekat dengan saya adalah menjalankan legend([])
untuk mengosongkan legenda dari data. Tapi itu meninggalkan persegi panjang putih jelek di sudut kanan atas.)
matplotlib
legend
Olivier Verdier
sumber
sumber
ax.get_legend().remove()
solusi tidak berfungsi dalam kasus saya, sedangkan solusi kedua (legend = ax.legend() ... legend.remove()
) berfungsi. mungkin karenaax
adaAxesSubplot
dalam kasus saya?Jika Anda ingin memplot dataframe Pandas dan ingin menghapus legenda, tambahkan legend = Tidak ada sebagai parameter pada perintah plot.
sumber
Anda bisa menggunakan metode legenda
set_visible
:Ini didasarkan pada jawaban yang diberikan kepada saya sebagai jawaban atas pertanyaan serupa yang saya miliki beberapa waktu lalu di sini
(Terima kasih atas jawaban itu, Jouni - maaf saya tidak dapat menandai pertanyaan yang dijawab ... mungkin seseorang yang memiliki wewenang dapat melakukannya untuk saya?)
sumber
Anda harus menambahkan baris kode berikut:
gca () mengembalikan pegangan sumbu saat ini, dan memiliki properti legend_
sumber
draw()
denganshow()
. Atau apakah ada keuntungan khusus dalam menggunakandraw
?show()
akan baik-baik saja jika pembaruan grafik adalah perintah terakhir dari suatu program.draw()
baik-baik saja, karena itu adalah perintah pembaruan grafik umum. Misalnya, Anda mungkin ingin meminta pengguna untuk input di terminal setelah memperbarui grafik, yang tidak dapat dilakukan dengan pemblokiranshow()
.draw
lebih tepat (tapi saya selalu terbiasashow
memperbarui grafik saya ...).Jika Anda tidak menggunakan objek plot gambar dan kapak, Anda dapat melakukannya seperti:
sumber
jika Anda memanggil
pyplot
sebagaiplt
frameon=False
adalah untuk menghapus perbatasan di sekitar legendadan '' meneruskan informasi yang tidak boleh ada variabel dalam legenda
sumber
Saya membuat legenda dengan menambahkannya ke gambar, bukan ke sumbu (matplotlib 2.2.2). Untuk menghapusnya, saya mengatur
legends
atribut gambar ke daftar kosong:sumber
Menurut informasi dari @naitsirhc, saya ingin mencari dokumentasi API resmi. Berikut ini adalah temuan saya dan beberapa kode sampel.
matplotlib.Axes
objek olehseaborn.scatterplot()
.ax.get_legend()
akan kembalimatplotlib.legned.Legend
instance..remove()
fungsi untuk menghapus legenda dari plot Anda.Jika Anda memeriksa
matplotlib.legned.Legend
dokumen API, Anda tidak akan melihat.remove()
fungsinya.Alasannya adalah bahwa
matplotlib.legned.Legend
warisanmatplotlib.artist.Artist
. Karena itu, ketika Anda memanggilax.get_legend().remove()
itu pada dasarnya panggilanmatplotlib.artist.Artist.remove()
.Pada akhirnya, Anda bahkan bisa menyederhanakan kode menjadi dua baris.
sumber