Datetime Matplotlib日期/时间与Qt4Agg后端一起显示

Datetime Matplotlib日期/时间与Qt4Agg后端一起显示,datetime,python-3.x,matplotlib,pyqt4,Datetime,Python 3.x,Matplotlib,Pyqt4,我目前正在从事一个项目,其中包括在PyQt4应用程序中绘制时间序列。我正在64位Linux系统上使用matplotlib和python3.3中的Qt4Agg后端 绘图工作正常,但每当我试图通过figureoptions按钮(带有绿色复选标记的按钮)更改某些内容时,x轴上的日期/时间格式就会被浮点替换 我包含了一些简单的代码,显示了问题所在(打开figureoptions对话框,然后按apply!) 有人知道如何改变这种行为吗 我搜索了stackoverflow.com、matplotlib常见问

我目前正在从事一个项目,其中包括在PyQt4应用程序中绘制时间序列。我正在64位Linux系统上使用matplotlib和python3.3中的Qt4Agg后端

绘图工作正常,但每当我试图通过figureoptions按钮(带有绿色复选标记的按钮)更改某些内容时,x轴上的日期/时间格式就会被浮点替换

我包含了一些简单的代码,显示了问题所在(打开figureoptions对话框,然后按apply!)

有人知道如何改变这种行为吗

我搜索了stackoverflow.com、matplotlib常见问题解答、文档和邮件列表,但找不到任何答案


我真的很感谢你的帮助!谢谢

为了记录我是如何解决这个问题的

在我的类中,我重新定义了enterEvent,这样每当鼠标进入窗口时,它都会更新xaxis。当然,这在上面的示例中不起作用,但是在像这样的适当类中:

这不是完美的,而是一种变通方法

import matplotlib.pyplot as plt
import datetime

x=[]
y=[]
for hour in range(0,13):
    x.append(datetime.datetime(2013,11,14,hour))
    y.append(20)
plt.switch_backend('Qt4Agg')
plt.plot_date(x, y)
plt.show()
def enterEvent(self, event):
    self.axes.get_xaxis()._update_axisinfo()
    self.canvas.draw()