Kotak Rajah Mengembangkan Secara Dinamik untuk Legenda Luar Kapak: Penyelesaian

Linda Hamilton
Lepaskan: 2024-10-18 12:04:03
asal
157 orang telah melayarinya

Dynamically Expanding Figure Box for Legends Outside Axes: A Solution

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')
Salin selepas log masuk

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')
Salin selepas log masuk

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!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!