def testIPlot(): if 'np' not in dir(): import PyQt4.Qwt5.anynumpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.01) p = IPlot(Axis(Bottom, "linear x-axis"), Axis(Left, "linear y-axis"), Axis(Right, Log, "logarithmic y-axis"), Curve(x, np.cos(x), Pen(Magenta, 2), "cos(x)"), Curve(x, np.exp(x), Pen(Red), "exp(x)", Right), "PyQwt using Qt-%s and Qwt-%s"% (QT_VERSION_STR, QWT_VERSION_STR), ) x = x[0:-1:10] p.plot( Curve(x, np.cos(x-np.pi/4), Symbol(Circle, Yellow), "circle"), Curve(x, np.cos(x+np.pi/4), Pen(Blue), Symbol(Square, Cyan), "square"), ) return p
def setDamp(self, d): self.damping = d # Numerical Python: f, g, a and p are NumPy arrays! f = np.exp(np.log(10.0) * np.arange(-2, 2.02, 0.04)) g = 1.0 / (1.0 - f * f + 2j * self.damping * f) a = 20.0 * np.log10(abs(g)) p = 180 * np.arctan2(g.imag, g.real) / np.pi # for show3dB i3 = np.argmax(np.where(np.less(a, -3.0), a, -100.0)) f3 = f[i3] - (a[i3] + 3.0) * (f[i3] - f[i3 - 1]) / (a[i3] - a[i3 - 1]) # for showPeak imax = np.argmax(a) self.showPeak(f[imax], a[imax]) self.show3dB(f3) self.showData(f, a, p) self.replot()
def setDamp(self, d): self.damping = d # Numerical Python: f, g, a and p are NumPy arrays! f = np.exp(np.log(10.0)*np.arange(-2, 2.02, 0.04)) g = 1.0/(1.0-f*f+2j*self.damping*f) a = 20.0*np.log10(abs(g)) p = 180*np.arctan2(g.imag, g.real)/np.pi # for show3dB i3 = np.argmax(np.where(np.less(a, -3.0), a, -100.0)) f3 = f[i3] - (a[i3]+3.0)*(f[i3]-f[i3-1])/(a[i3]-a[i3-1]) # for showPeak imax = np.argmax(a) self.showPeak(f[imax], a[imax]) self.show3dB(f3) self.showData(f, a, p) self.replot()
def testIPlot(): if 'np' not in dir(): import PyQt4.Qwt5.anynumpy as np x = np.arange(-2 * np.pi, 2 * np.pi, 0.01) p = IPlot( Axis(Bottom, "linear x-axis"), Axis(Left, "linear y-axis"), Axis(Right, Log, "logarithmic y-axis"), Curve(x, np.cos(x), Pen(Magenta, 2), "cos(x)"), Curve(x, np.exp(x), Pen(Red), "exp(x)", Right), "PyQwt using Qt-%s and Qwt-%s" % (QT_VERSION_STR, QWT_VERSION_STR), ) x = x[0:-1:10] p.plot( Curve(x, np.cos(x - np.pi / 4), Symbol(Circle, Yellow), "circle"), Curve(x, np.cos(x + np.pi / 4), Pen(Blue), Symbol(Square, Cyan), "square"), ) return p