0

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

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

我包含了一些显示问题的简单代码(打开 figureoptions 对话框并按应用!)

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()

有谁知道如何改变这种行为?

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

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

4

1 回答 1

0

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

在我的课堂上,我重新定义了 enterEvent,这样每次鼠标进入窗口时,它都会更新 xaxis。当然,这对上面的例子不起作用,但在一个像这样的适当类中:http ://eli.thegreenplace.net/files/prog_code/qt_mpl_bars.py.txt

def enterEvent(self, event):
    self.axes.get_xaxis()._update_axisinfo()
    self.canvas.draw()   

这并不完美,而是一种解决方法!

于 2013-11-16T13:59:39.683 回答