Python 如何在tkinter中更新matplotlib图形中的x限制

Python 如何在tkinter中更新matplotlib图形中的x限制,python,matplotlib,tkinter,Python,Matplotlib,Tkinter,我用TKinter制作了一个GUI,可以从安捷伦范围读取范围跟踪。我希望在更改时间/div时更新x轴。要更新x和y数据,我使用set\u xdata和set\u ydata。是否有类似的方法更新x限制?更改x轴(当前轴)的范围 轴的方向设置刻度。例如,可以通过gca()更改x轴(当前轴)的范围来获取当前轴 轴的方向设置刻度。例如,可以使用gca()获取当前轴。您需要了解一些对象层次结构。您正在对Line2D对象调用set_xdata,该对象是一个艺术家,与轴对象关联(该对象处理诸如对数与线性、x

我用TKinter制作了一个GUI,可以从安捷伦范围读取范围跟踪。我希望在更改时间/div时更新x轴。要更新x和y数据,我使用
set\u xdata
set\u ydata
。是否有类似的方法更新x限制?

更改x轴(当前轴)的范围

轴的方向设置刻度。例如,可以通过
gca()

更改x轴(当前轴)的范围来获取当前轴


轴的方向设置刻度。例如,可以使用
gca()

获取当前轴。您需要了解一些对象层次结构。您正在对
Line2D
对象调用
set_xdata
,该对象是一个
艺术家
,与
对象关联(该对象处理诸如对数与线性、x/y限制、轴标签、刻度位置和标签),该对象与
图形
对象关联(它将一组轴对象组合在一起,处理窗口管理器(用于gui)等)和
画布
对象(实际上处理将所有其他对象转换为屏幕上的图片)

如果您使用的是Tkinter,我假设您有一个
axes
对象(我将调用
ax

因此,要更新行中的数据,需要更新
my_line
,要更新轴限制,需要更新
ax

ax = fig.subplot(111) # or where ever you want to get you `Axes` object from.
my_line = ax.plot(data_x, data_y)
# whole bunch of code
#
# more other code


# update your line object
my_line.set_xdata(new_x_data)
my_line.set_ydata(new_y_data)

# update the limits of the axes object that you line is drawn on.
ax.set_xlim([top, bottom])
ax.set_ylim([left, right])

set_xlim
set_ylim
您需要了解一点对象层次结构。您在
Line2D
对象上调用
set_xdata
,该对象是与
对象关联的
艺术家
(处理日志与线性、x/y限制、轴标签、记号位置和标签等内容)与
图形
对象(将一组轴对象组合在一起,处理窗口管理器(用于gui)等)和
画布
对象相关联(实际上是将所有其他对象转换为屏幕上的图片)

如果您使用的是Tkinter,我假设您有一个
axes
对象(我将调用
ax

因此,要更新行中的数据,需要更新
my_line
,要更新轴限制,需要更新
ax

ax = fig.subplot(111) # or where ever you want to get you `Axes` object from.
my_line = ax.plot(data_x, data_y)
# whole bunch of code
#
# more other code


# update your line object
my_line.set_xdata(new_x_data)
my_line.set_ydata(new_y_data)

# update the limits of the axes object that you line is drawn on.
ax.set_xlim([top, bottom])
ax.set_ylim([left, right])

set\u xlim
set\u ylim

您想更改范围或刻度吗?您想更改范围或刻度吗?您想更改范围或刻度吗?您想更改吗?我的代码设置与我在hear上找到的代码类似(答案2)。我想用与更新y数据类似的方式更新x限制。@MarkMitry谢谢,增加投票数和接受答案更好;)我的代码设置与我在hear上找到的代码(答案2)类似。我想以与更新y数据类似的方式更新x限制。@MarkMitry谢谢,增加投票数和接受答案更好;)