1

我用 TKinter 制作了一个 GUI,可以从安捷伦示波器读取示波器轨迹。我希望在更改时间/格时更新 x 轴。要更新我使用的 x 和 y 数据set_xdataset_ydata. 是否有类似的方法来更新 x 限制?

4

2 回答 2

1

您需要了解一点对象层次结构。您正在调用set_xdata 一个Line2D对象,该对象Artist与一个Axes对象相关联(它处理诸如对数与线性、x/y 限制、轴标签、刻度位置和标签之类的事情),该对象与一个Figure对象相关联(将一个一堆轴对象,处理窗口管理器(用于 gui)等)和一个canvas对象(实际上处理将所有其他对象转换为屏幕上的图片)。

如果您使用的是 Tkinter,我假设您有一个axes对象(我将调用它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])

所以要更新行中的数据,你需要更新my_line,要更新轴限制,你需要更新ax

set_xlim 医生set_ylim 医生

于 2013-01-25T06:00:10.287 回答
0

pyplot.xlim()函数更改 x 轴(当前轴)的范围。

Axes的set_xticks()方法设置刻度。例如,可以使用 获得当前 Axes gca()

于 2013-01-25T02:26:00.113 回答