Membesarkan Kotak Rajah untuk Legenda Di Luar Axis
Menggerakkan legenda di luar paksi selalunya mengakibatkan kotak rajah terlalu kecil untuk menampung saiz lagenda. Mengecilkan paksi tidak sesuai kerana ia mengurangkan saiz plot, menjadikannya lebih sukar untuk mentafsir data yang kompleks.
Saiz Semula Kotak Rajah Dinamik
Untuk menyelesaikan isu ini, adalah mungkin untuk melaraskan saiz kotak angka secara dinamik agar sesuai dengan legenda. Ini boleh dicapai dengan mengubah suai panggilan savefig() dengan hujah berikut:
Contoh Kod
Pertimbangkan kod berikut:
<code class="python">import matplotlib.pyplot as plt import numpy as np # Construct a plot with a legend x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) 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=9, bbox_to_anchor=(0.5,0)) ax.grid('on') # Save the figure with the adjusted bounding box fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
Output
Kod ini akan mencipta plot dengan legenda di luar paksi dan kotak angka akan berkembang untuk menampung legenda. Anda juga boleh memasukkan artis tambahan, seperti label teks, dalam hujah bbox_extra_artists.
Perintah Dipermudah
Dalam versi Matplotlib terbaharu, arahan itu telah dipermudahkan . Untuk menyimpan angka dengan kotak sempadan yang ketat, hanya hujah berikut diperlukan:
<code class="python">plt.savefig('x.png', bbox_inches='tight')</code>
Atas ialah kandungan terperinci Bagaimana untuk Kembangkan Kotak Rajah untuk Menampung Legenda di Luar Paksi dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!