Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengembangkan Saiz Kotak Rajah Secara Dinamik untuk Menampung Legenda Mengembang dalam Matplotlib?

Bagaimana untuk Mengembangkan Saiz Kotak Rajah Secara Dinamik untuk Menampung Legenda Mengembang dalam Matplotlib?

Susan Sarandon
Lepaskan: 2024-10-18 12:51:30
asal
606 orang telah melayarinya

How to Expand Figure Box Size Dynamically to Accommodate an Expanding Legend in Matplotlib?

Memperluaskan Kotak Rajah untuk Menampung Legenda Melebihi

Penerangan Isu

Apabila meletakkan legenda di luar paksi dalam Matplotlib, ia kadangkala boleh melangkaui sempadan kotak angka, menghasilkan penampilan potongan. Mengubah saiz paksi paksi dengan mengecilkannya bukanlah penyelesaian yang optimum, kerana ia mengurangkan keterlihatan data.

Peluasan Kotak Rajah Dinamik

Penyelesaian yang dikehendaki adalah untuk mengembangkan saiz kotak rajah secara dinamik kepada menampung legenda yang semakin berkembang.

Pelaksanaan: Panggilan savefig tersuai dengan bbox_extra_artists

Untuk mencapai ini, panggilan fungsi savefig boleh dilaraskan untuk memasukkan hujah bbox_extra_artists:

<code class="python">fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
Salin selepas log masuk

Ini menyatakan bahawa kotak angka harus mempertimbangkan artis tambahan, seperti legenda (lgd), apabila mengira saiznya.

Contoh dan Hasil

Menggunakan panggilan savefig yang diubah suai ini:

<code class="python">import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(1)
ax = fig.add_subplot(111)
ax.set_title("Trigonometry")
ax.plot(x, np.sin(x), label='Sine')
ax.plot(x, np.cos(x), label='Cosine')
ax.plot(x, np.arctan(x), label='Inverse tan')
lgd = ax.legend(loc='upper center', bbox_to_anchor=(0.5,-0.1))
ax.grid('on')
fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
Salin selepas log masuk

Menghasilkan angka dengan lagenda melangkaui paksi tetapi ditempatkan dalam kotak angka yang diperluas:

  Trigonometry

  2
  1
  0
 -1
 -2
 -4π  -2π     0     2π    4π
Inverse tan
Cosine
Sine
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengembangkan Saiz Kotak Rajah Secara Dinamik untuk Menampung Legenda Mengembang dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan