Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:pyplot中的绘图与tkinter中的绘图不同?_Python_Plot_Tkinter - Fatal编程技术网

Python:pyplot中的绘图与tkinter中的绘图不同?

Python:pyplot中的绘图与tkinter中的绘图不同?,python,plot,tkinter,Python,Plot,Tkinter,我想在情节之外添加一些评论。代码和数字如下所示。问题是,图2本质上是相同的,但有“text1”和“text2”的截断。有人能解释为什么或者提供一个更好的解决方案,在情节之外添加文本吗?非常感谢 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg import numpy as np import Tkinter as Tk root = Tk.Tk()

我想在情节之外添加一些评论。代码和数字如下所示。问题是,图2本质上是相同的,但有“text1”和“text2”的截断。有人能解释为什么或者提供一个更好的解决方案,在情节之外添加文本吗?非常感谢

import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np

import Tkinter as Tk
root = Tk.Tk()

x = np.arange(0, 10, 1)
y = np.arange(0, 10, 1)

fig1 = plt.figure()
ax = fig1.add_subplot(111)
ax.plot(x,y)
textx = ax.get_xlim()[0]
texty = ax.get_ylim()[0]
ydist = ax.get_yticks()[1] - ax.get_yticks()[0]
ax.text(textx, texty-2*ydist, "text1")
ax.text(textx, texty-3*ydist, "text2")
fig1.show()


如果您在展示前执行图2.tight_layout()

会发生什么?Paul,非常感谢您编辑问题和评论!我刚试过,发现它与没有“fig2.tight_layout()”的情况相同。你能向下拖动窗口底部以显示文本元素吗?还有,当你将两个图形都保存为图像文件时会发生什么?例如,
fig1.savefig(“fig1.png”)
Paul,谢谢你的建议!非常有趣,图1和图2都保存了,但图表下方没有文本。如果在显示前执行
fig2.tight_layout()
,会发生什么?Paul,非常感谢您编辑问题和评论!我刚试过,发现它与没有“fig2.tight_layout()”的情况相同。你能向下拖动窗口底部以显示文本元素吗?还有,当你将两个图形都保存为图像文件时会发生什么?例如,
fig1.savefig(“fig1.png”)
Paul,谢谢你的建议!非常有趣,图1和图2保存时都没有图表下方的文本。
fig2 = plt.Figure()
ax2 = fig2.add_subplot(111)
ax2.plot(x,y)
textx = ax2.get_xlim()[0]
texty = ax2.get_ylim()[0]
ydist = ax2.get_yticks()[1] - ax2.get_yticks()[0]
ax2.text(textx, texty-2*ydist, "text1")
ax2.text(textx, texty-3*ydist, "text2")
canvas = FigureCanvasTkAgg(fig2, master=root)
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1.0)
canvas.show()
canvas.draw()
Tk.mainloop()