python中除了matplotlib外,PyQwt也可以用于画图。前者是基于wxpython,后者是基于PyQt,有异曲同工之妙。
下面是一个小例子:
# -*- coding: utf-8 -*-import sysimport numpy as npfrom PyQt4.QtCore import *from PyQt4.QtGui import *from PyQt4.Qwt5 import *class Ex01(QWidget): ''' 创建QwtPlot对象, 通过调用QwtPlot对象的方法setTitle(String)来设定图的标题文字 setAxisTitle(AxisId, String)用来设定坐标轴的标题 fig.xBottom和fig.yLeft为QwtPlot对象的属性,分别代表fig的下方x轴和左边的y轴 ''' def __init__(self): QWidget.__init__(self) fig = QwtPlot() fig.setParent(self) text = "f(x) = x + x2<\sup>" fig.setTitle(text) fig.setAxisTitle(fig.xBottom, "x") fig.setAxisTitle(fig.yLeft, "f(x)") x = np.arange(0, 10, 0.1) y = x +x**2 curve = QwtPlotCurve() curve.setData(x, y) curve.attach(fig) fig.replot() fig.resize(400, 300)def main(): app = QApplication(sys.argv) frame = Ex01() frame.show() app.exec_()if __name__ == "__main__": main()