Python Matplotlib';擦除';设置x/y限制后的行

Python Matplotlib';擦除';设置x/y限制后的行,python,matplotlib,axes,Python,Matplotlib,Axes,我正在制作一个绘图应用程序,它应该通过tkinter gui允许用户创建绘图来绘制光谱数据,并修改绘图 我正在尝试这样做,用户可以在绘制数据后更改x轴和y轴的限制。通过查看mpl文档,似乎显而易见的解决方案是使用set_xlim和set_ylim方法。但是,如果在绘制直线后调用这些方法,则无法再看到该直线,并且没有中间轴记号。通过我的其他小部件,我知道这些线仍然包含在axis对象的lines属性中,它们只是不可见 我的问题是,是否有一种方法可以在绘制线后“设置”轴,以便数据将调整到该轴,即调整轴

我正在制作一个绘图应用程序,它应该通过tkinter gui允许用户创建绘图来绘制光谱数据,并修改绘图

我正在尝试这样做,用户可以在绘制数据后更改x轴和y轴的限制。通过查看mpl文档,似乎显而易见的解决方案是使用
set_xlim
set_ylim
方法。但是,如果在绘制直线后调用这些方法,则无法再看到该直线,并且没有中间轴记号。通过我的其他小部件,我知道这些线仍然包含在axis对象的
lines
属性中,它们只是不可见

我的问题是,是否有一种方法可以在绘制线后“设置”轴,以便数据将调整到该轴,即调整轴后可见,并像调整前一样具有刻度?我将显示图表的图像来说明我的情况。类定义相当长,因此我将只展示
set\u xlim
set\u ylim

更改轴限制之前的绘图: 更改x限制后的绘图:


条目小部件包含在顶层中,由应用程序的页面(
master
)实例化,条目是用户输入新x和y限制的地方。
controller
是应用程序后端。

是否返回浮点或字符串?@DizietAsahi strings,当然是我的敌人。铸造浮动修复了这个问题。谢谢。self.lxlimEntry.get()是否返回浮点或字符串?@DizietAsahi strings,当然是我的敌人。铸造浮动修复了这个问题。非常感谢。
if all(entry.get() for entry in {self.lxlimEntry, self.rxlimEntry}):
            self.master.controller.get_plots()[self.plotVar.get()].axes[0].set_xlim(self.lxlimEntry.get(), self.rxlimEntry.get())

        if all(entry.get() for entry in {self.lylimEntry, self.rylimEntry}):
            self.master.controller.get_plots()[self.plotVar.get()].axes[0].set_ylim(self.lylimEntry.get(), self.rylimEntry.get())