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

时间:2013-01-25 02:19:14

标签: python matplotlib tkinter

我使用TKinter创建了一个GUI,它从一个安静的范围读取范围跟踪。我希望在更改时间/格时更新x轴。要更新x和y数据,我使用set_xdata和set_ydata。是否有更新x限制的类似方法?

2 个答案:

答案 0 :(得分:1)

您需要了解一些对象层次结构。您在set_xdata对象上调用Line2D,该对象是ArtistAxes对象关联的对象(处理日志与线性,x / y限制等对象) ,轴标签,刻度位置和标签)与Figure对象(将一组轴对象组合在一起,处理窗口管理器(对于gui),ect)和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 docset_ylim doc

答案 1 :(得分:0)

pyplot.xlim() function改变x轴的范围(当前轴的范围)。

轴的set_xticks() method设置刻度线。例如,可以使用gca()获取当前轴。