Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengembangkan Saiz Kotak Rajah Secara Dinamik untuk Menampung Legenda Mengembang dalam Matplotlib?
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.
Penyelesaian yang dikehendaki adalah untuk mengembangkan saiz kotak rajah secara dinamik kepada menampung legenda yang semakin berkembang.
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>
Ini menyatakan bahawa kotak angka harus mempertimbangkan artis tambahan, seperti legenda (lgd), apabila mengira saiznya.
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>
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
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!