Python 从textbox小部件计算表达式时出现Pyplot警告

Python 从textbox小部件计算表达式时出现Pyplot警告,python,matplotlib,warnings,axes,Python,Matplotlib,Warnings,Axes,如果我有一个具有多个“轴”(他们称之为“轴”)的pyplot图形,并且其中一个图形中有一个文本框,则在写入某些特殊字符序列(例如*2)时,我会收到一条警告,说明以下内容: MatplotlibDeprecationWarning:从3.3开始,不推荐使用键盘切换轴导航,并将在两个次要版本之后删除。 返回self.func(*args) 请注意,如果我只有一个轴,这似乎不会发生 我需要使用这样的文本框来交互将要计算的函数,所以我可能需要使用*和**。是什么原因导致此警告 下面是重新创建场景的一个

如果我有一个具有多个“轴”(他们称之为“轴”)的pyplot图形,并且其中一个图形中有一个文本框,则在写入某些特殊字符序列(例如
*2
)时,我会收到一条警告,说明以下内容:

MatplotlibDeprecationWarning:从3.3开始,不推荐使用键盘切换轴导航,并将在两个次要版本之后删除。
返回self.func(*args)
请注意,如果我只有一个轴,这似乎不会发生

我需要使用这样的文本框来交互将要计算的函数,所以我可能需要使用
*
**
。是什么原因导致此警告

下面是重新创建场景的一个简单示例:

导入matplotlib.pyplot作为plt
从matplotlib.widgets导入文本框
图(ax1,ax2)=plt.子批次(1,2)
tb1=文本框(ax1,'文本框:')
ax2.绘图([1,2,3,4,5])
plt.show()

似乎可以在matplotlib中解除默认键绑定:

import matplotlib.pyplot as plt
from matplotlib.widgets import TextBox

fig, (ax1, ax2) = plt.subplots(1, 2)
fig.canvas.mpl_disconnect(fig.canvas.manager.key_press_handler_id)
tb1 = TextBox(ax1, 'Textbox: ')
ax2.plot([1,2,3,4,5])
plt.show()
-您显然还可以指定要忽略的绑定

另一种方法是仅抑制此警告:

import warnings
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.widgets import TextBox

with warnings.catch_warnings():
    warnings.simplefilter("ignore", matplotlib.MatplotlibDeprecationWarning)
    fig, (ax1, ax2) = plt.subplots(1, 2)
    tb1 = TextBox(ax1, 'Textbox: ')
    ax2.plot([1,2,3,4,5])
    plt.show()

当你在其中一个图表上悬停时按1或2也会发生这种情况,即使没有文本框。我自己也不会注意到。为什么会发生这种情况?这些可能是一些键盘快捷键吗?如果是这样的话,如何解除它们的绑定?还没有找到一个好的方法来禁用它,但是快速修复可以是
导入警告;warnings.simplefilter(“ignore”,matplotlib.MatplotlibDeprecationWarning)
禁用此警告看起来很有效!非常感谢。