您需要了解一点对象层次结构。您正在对一个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])
^{} function 更改x轴(当前轴的)的范围。在
轴的^{} method 设置刻度。当前轴可以通过
gca()
获得。在您需要了解一点对象层次结构。您正在对一个
Line2D
对象调用set_xdata
,该对象是一个与Axes
对象相关联的Artist
(它处理诸如log vs linear、x/y限制、轴标签、刻度位置和标签)的对象,该对象与一个Figure
对象(它将一组axis对象组合在一起,处理窗口管理器(用于gui)等),以及一个canvas
对象(它实际上处理将所有其他对象转换为屏幕上的图片)。在如果您使用的是Tkinter,我假设您有一个
axes
对象(我将称之为ax
)。在所以要更新行中的数据,您需要更新
my_line
,要更新轴限制,您需要更新ax
。在set_xlim
doc和{相关问题 更多 >
编程相关推荐