ฉันคุ้นเคยกับคำถามต่อไปนี้:
Matplotlib บันทึกรูปที่มีตำนานนอกพล็อต
ดูเหมือนว่าคำตอบในคำถามเหล่านี้มีความสามารถในการเล่นซอกับการหดตัวของแกนที่แน่นอนเพื่อให้ตำนานพอดี
อย่างไรก็ตามการลดขนาดของแกนไม่ใช่วิธีแก้ปัญหาในอุดมคติเพราะทำให้ข้อมูลมีขนาดเล็กลงทำให้ยากต่อการตีความ โดยเฉพาะอย่างยิ่งเมื่อมีความซับซ้อนและมีหลายสิ่งที่เกิดขึ้น ... จึงต้องมีตำนานที่ยิ่งใหญ่
ตัวอย่างของตำนานที่ซับซ้อนในเอกสารแสดงให้เห็นถึงความจำเป็นในการนี้เพราะตำนานในพล็อตของพวกเขาปิดบังจุดข้อมูลหลายจุดอย่างสมบูรณ์
http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots
สิ่งที่ฉันต้องการจะทำคือการขยายขนาดของกล่องรูปแบบไดนามิกเพื่อรองรับตำนานรูปขยาย
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')
lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0))
ax.grid('on')
โปรดสังเกตว่าจริง ๆ แล้วป้ายกำกับ 'Inverse tan' นั้นอยู่นอกกรอบรูป (และดูตัดไม่ดี - ไม่ใช่คุณภาพสิ่งพิมพ์!)
ในที่สุดฉันก็ถูกบอกว่านี่เป็นพฤติกรรมปกติใน R และ LaTeX ดังนั้นฉันสับสนเล็กน้อยว่าทำไมเรื่องนี้ถึงยากมากในงูหลาม ... มีเหตุผลทางประวัติศาสตร์หรือไม่? Matlab ไม่ดีเท่ากันในเรื่องนี้หรือไม่?
ฉันมีโค้ดนี้เวอร์ชันที่ยาวกว่า (เพียงเล็กน้อย) บน pastebin http://pastebin.com/grVjc007
tight_layout()
ควรมีการเปลี่ยนแปลงเพื่อพิจารณาตำนาน