मेरे पास दो सबप्लॉट हैं, प्रत्येक शीर्षक के साथ। मैं उन्हें नीचे टिंकर के साथ प्लॉट करता हूं। यह उस तरह से काम करता है जैसा इसे करना चाहिए। मेरी समस्या यह है कि पूरी विंडो को कम करते समय निचले प्लॉट का शीर्षक ऊपरी प्लॉट के एक्स-लेबल को कवर करता है। क्या सबप्लॉट (-टाइटल्स) के बीच न्यूनतम स्थान रखने की संभावना है? धन्यवाद :)

यहाँ एक उदाहरण है:

from tkinter import *
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure

root = Tk()
x = [-3, -2, -1, 0, 1, 2, 3, 4, 5]
y_1 = [2, 4, 6, 8, 1, 3, 5, 7, 9]
y_2 = [9, 6, 3, 1, 4, 7, 6, 2, 2]

fig = Figure(figsize=(9, 9))
ax = fig.add_subplot(211)
ax.set_title("TITLE ONE")
ax.set_ylabel("Y1")
ax.set_xlabel("X")
line = ax.plot(x, y_1, color="black" )[0]

canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().pack()

ax2 = fig.add_subplot(212)
ax2.set_title("TITLE TWO")
ax2.set_ylabel("Y2")
ax2.set_xlabel("X")
ax2.plot(x, y_2, color="black")
fig.tight_layout()

root.mainloop()

Full window - perfect plot smaller window - not perfect

0
Youdelsack 3 पद 2019, 17:59

1 उत्तर

सबसे बढ़िया उत्तर

fig.tight_layout() लाइन को हटा दें, और इसके बजाय उपयोग करें

import matplotlib
matplotlib.rcParams['figure.autolayout'] = True

आपकी स्क्रिप्ट के शीर्ष पर।

1
ImportanceOfBeingErnest 3 पद 2019, 19:02