Mengubah Saiz Rajah Kotak Secara Dinamik untuk Legenda
Apabila meletakkan legenda di luar paksi plot dalam Matplotlib, ia boleh dipotong oleh kotak angka . Isu ini timbul apabila panjang legenda melebihi saiz paksi.
Mengelakkan Pengecilan Paksi
Berbeza dengan penyelesaian lain, mengelakkan pengecutan paksi lebih diutamakan untuk mengekalkan keterlihatan data. Mengecilkan paksi mengurangkan kebolehbacaan data, terutamanya apabila berurusan dengan plot kompleks dengan legenda yang luas.
Peluasan Kotak Rajah Dinamik
Untuk mengembangkan kotak angka secara dinamik untuk menampung legenda, laraskan panggilan savefig kepada yang berikut:
fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')
di mana bbox_extra_artists mempertimbangkan artis tambahan (dalam kes ini, legenda) semasa menentukan saiz kotak sempadan.
Kod Contoh
Kod berikut menjana plot dengan legenda di luar paksi dan secara automatik mengubah saiz kotak angka menggunakan bbox_extra_artists:
import matplotlib.pyplot as plt import numpy as np 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') handles, labels = ax.get_legend_handles_labels() lgd = ax.legend(handles, labels, loc='upper center', bbox_to_anchor=(0.5,-0.1)) text = ax.text(-0.2,1.05, "Aribitrary text", transform=ax.transAxes) ax.set_title("Trigonometry") ax.grid('on') fig.savefig('samplefigure', bbox_extra_artists=(lgd,text), bbox_inches='tight')
Kod ini menghasilkan plot dengan legenda di luar paksi, dan kotak angka dilaraskan secara dinamik untuk menampung saiz legenda.
Kesimpulan
Dengan menggunakan parameter bbox_extra_artists dalam savefig, anda boleh mengembangkan kotak angka secara dinamik untuk memastikan bahawa legenda di luar kapak tidak terputus. Pendekatan ini menyediakan penyelesaian yang mudah dan berkesan tanpa kelemahan paksi mengecut.
Atas ialah kandungan terperinci Kotak Rajah Mengembangkan Secara Dinamik untuk Legenda Luar Kapak: Penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!