0

私は現在、PyQt4 アプリケーションで時系列をプロットすることを含むプロジェクトに取り組んでいます。64 ビット Linux システムで、matplotlib と python3.3 の Qt4Agg バックエンドを使用しています。

プロットは正常に機能しますが、図のオプション ボタン (緑色のチェックマークが付いているボタン) を使用して何かを変更しようとすると、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 faq、ドキュメント、メーリング リストを検索しましたが、答えが見つかりませんでした。

あなたの助けに本当に感謝します!ありがとう!

4

1 に答える 1

0

この問題をどのように解決したかを記録するためだけに。

私のクラスでは、マウスがウィンドウに入るたびに xaxis を更新するように enterEvent を再定義しました。もちろん、これは上記の例では機能しませんが、次のような適切なクラスでは機能します: 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 に答える