Saya membuat plot pencar di matplotlib dan perlu mengubah latar belakang plot yang sebenarnya menjadi hitam. Saya tahu cara mengubah warna wajah plot menggunakan:
fig = plt.figure()
fig.patch.set_facecolor('xkcd:mint green')
Masalah saya adalah ini mengubah warna ruang di sekitar plot. Bagaimana cara mengubah warna latar belakang plot yang sebenarnya?
python
matplotlib
pengguna1764386
sumber
sumber
ax.patch.set_facecolor('black')
(di manaax
instance sumbu).fig.patch
adalah latar belakang gambar danax.patch
latar belakang sumbu.Jawaban:
Gunakan
set_facecolor(color)
metodeaxes
objek , yang telah Anda buat dengan salah satu cara berikut:Anda membuat angka dan poros bersama
Anda membuat gambar, lalu poros / es nanti
Anda menggunakan API stateful (jika Anda melakukan apa pun lebih dari beberapa baris, dan terutama jika Anda memiliki banyak plot, metode berorientasi objek di atas membuat hidup lebih mudah karena Anda dapat merujuk pada angka tertentu, plot pada sumbu tertentu, dan menyesuaikan antara)
Maka Anda dapat menggunakan
set_facecolor
:Sebagai penyegar untuk warna apa yang bisa:
sumber
MethodNotFound
Salah satu metode adalah dengan secara manual menetapkan default untuk warna latar belakang sumbu dalam skrip Anda (lihat Menyesuaikan matplotlib ):
Ini berbeda dengan metode Nick T yang mengubah warna latar belakang untuk
axes
objek tertentu . Menyetel ulang default berguna jika Anda membuat banyak plot berbeda dengan gaya yang sama dan tidak ingin terus mengubahaxes
objek yang berbeda .Catatan: Setara untuk
dari pertanyaan Anda adalah:
sumber
Sesuatu seperti ini? Gunakan
axisbg
kata kunci untuksubplot
:(Memang, bukan plot pencar, dan bukan latar belakang hitam.)
sumber
plt.subplot('111', axisbg='black')
sebelum merencanakan perintah, menggunakan Windows.axis_bg
axis_bgcolor
tidak digunakan lagi di matplotlib 2.0.0 dan dihapus di matplotlib 2.2.0Jika Anda sudah memiliki
axes
objek, seperti dalam jawaban Nick T , Anda juga dapat menggunakansumber
Satu saran dalam jawaban lain adalah menggunakan
ax.set_axis_bgcolor("red")
. Namun ini sudah usang, dan tidak berfungsi di MatPlotLib> = v2.0.Ada juga saran untuk digunakan
ax.patch.set_facecolor("red")
(berfungsi pada kedua MatPlotLib v1.5 & v2.2). Meskipun ini berfungsi dengan baik, solusi yang lebih mudah untuk v2.0 + adalah menggunakanax.set_facecolor("red")
sumber
ax.set_axis_bgcolor("black")
bekerja pada Python v2.7.14 / MPL v1.5.1, tetapiax.set_facecolor()
tidak. Di suatu tempat antara MPL v1.5.1 dan v2.2.0 fungsi yang tepat bisa diaktifkan.ax.patch.set_facecolor("red")
. Kacang dari matplotlib 2.0 pada cara yang disarankan adalahax.set_facecolor
.Yang paling mudah adalah memberi warna saat Anda membuat plot:
atau
sumber
jawaban yang lebih sederhana:
sumber