如何更新tkin中matplotlib图形中的x限制

2024-04-25 00:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我用TKinter制作了一个GUI,从agilent作用域读取作用域跟踪。我想在更改time/div时更新x轴。要更新x和y数据,我使用set_xdata和set_ydata。有没有类似的方法来更新x极限?在


Tags: 数据方法divtimetkintergui作用域set
2条回答

^{} function更改x轴(当前轴的)的范围。在

轴的^{} method设置刻度。当前轴可以通过gca()获得。在

您需要了解一点对象层次结构。您正在对一个Line2D对象调用set_xdata,该对象是一个与Axes对象相关联的Artist(它处理诸如log vs linear、x/y限制、轴标签、刻度位置和标签)的对象,该对象与一个Figure对象(它将一组axis对象组合在一起,处理窗口管理器(用于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_xlimdoc和{}doc

相关问题 更多 >