matplotlibはなんといってもグラフのクオリティが高いところがいいのだが、少々重たくGUIには向かん。そんなこんなでPyQwtに手を出しけど、Qwtをどれくらい使いこなせるかが鍵。
PyQwtの例はネットにあまりなく、Qwtをあたらないけん。
C++を使える人はいいかも知れんけど、知らん人はqwtのドキュメント読んでもなかなか分からんのよね~
少し苦労して、プロットの形と線を変える方法を発見したのでアップ。
結果は写真のようになる。 EllipseんとこをDiamondとかにしてもよい。形はここをみて好きなのを選ぶ
忘れんように全ソースもメモ
PyQwtの例はネットにあまりなく、Qwtをあたらないけん。
C++を使える人はいいかも知れんけど、知らん人はqwtのドキュメント読んでもなかなか分からんのよね~
少し苦労して、プロットの形と線を変える方法を発見したのでアップ。
curve.setPen(Qt.QPen(Qt.Qt.blue, 2, Qt.Qt.DotLine)) curve.setSymbol(Qwt.QwtSymbol(Qwt.QwtSymbol.Ellipse, Qt.QBrush(Qt.Qt.red), Qt.QPen(Qt.Qt.red), Qt.QSize(5,5)))
結果は写真のようになる。 EllipseんとこをDiamondとかにしてもよい。形はここをみて好きなのを選ぶ
忘れんように全ソースもメモ
import sys from PyQt4 import QtGui, Qt import PyQt4.Qwt5 as Qwt import numpy as np from numpy import pi class SimplePlot(Qwt.QwtPlot): def __init__(self, *args): Qwt.QwtPlot.__init__(self, *args) self.setTitle('simple plot demo') self.setCanvasBackground(Qt.Qt.white) #grid grid = Qwt.QwtPlotGrid() grid.attach(self) grid.setPen(Qt.QPen(Qt.Qt.black, 0, Qt.Qt.DotLine)) #make grid dotted-line x = np.linspace(-2*pi, 2*pi, 100) y = np.sin(x) curve = Qwt.QwtPlotCurve('y=sin(x)') curve.attach(self) curve.setPen(Qt.QPen(Qt.Qt.blue, 2, Qt.Qt.DotLine)) curve.setSymbol(Qwt.QwtSymbol(Qwt.QwtSymbol.Ellipse, Qt.QBrush(Qt.Qt.red), Qt.QPen(Qt.Qt.red), Qt.QSize(5,5))) curve.setData(x,y) self.replot() def main(): app = QtGui.QApplication(sys.argv) plot = SimplePlot() plot.setMinimumSize(300,200) plot.show() sys.exit(app.exec_()) if __name__ == "__main__": main()
0 件のコメント:
コメントを投稿