Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Kembangkan Kotak Rajah untuk Menampung Legenda di Luar Paksi dalam Matplotlib?

Bagaimana untuk Kembangkan Kotak Rajah untuk Menampung Legenda di Luar Paksi dalam Matplotlib?

Barbara Streisand
Barbara Streisandasal
2024-10-18 12:18:30489semak imbas

How to Expand Figure Box to Accommodate Legends Outside the Axis in Matplotlib?

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:

  1. bbox_extra_artists untuk memasukkan artis tambahan yang melampaui paksi, seperti legenda.
  2. bbox_inches='tight ' untuk melaraskan saiz angka agar muat semua elemen di dalamnya.

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!

Kenyataan:
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