def notChirp(self, event): sumAbs = np.zeros(winSize) for i in range(nChan): sumAbs += np.abs(self.ch[i][self.start:self.start + winSize]) for s in sumAbs: nonchirpsFile.write('%f ' % s) nonchirpsFile.write('\n') nonchirpsFile.flush() self.plotNext() def skip(self, event): self.plotNext() callback = getWindow() axChirp = plt.axes([0.6, 0.05, 0.09, 0.075]) axSkip = plt.axes([0.7, 0.05, 0.09, 0.075]) axNonchirp = plt.axes([0.8, 0.05, 0.09, 0.075]) bChirp = Button(axChirp, 'Chirp') bSkip = Button(axSkip, 'Skip') bNonchirp = Button(axNonchirp, 'Non Chirp') bChirp.on_clicked(callback.isChirp) bSkip.on_clicked(callback.skip) bNonchirp.on_clicked(callback.notChirp) plt.show()
# Create figure/environment to draw trajectories on fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.2) points, = ax.plot([], [], 'ro', markersize=2, lw=2) ax.set_xlim(-0.25, 1.25) ax.set_ylim(0, 1) plt.gca().set_aspect('equal', adjustable='box') plt.xlabel('$x_1$', fontsize=15) plt.ylabel('$x_2$', fontsize=15) plt.title('Draw trajectories to learn a motion policy:', fontsize=15) # Add UI buttons for data/figure manipulation store_btn = plt.axes([0.67, 0.05, 0.075, 0.05]) clear_btn = plt.axes([0.78, 0.05, 0.075, 0.05]) snap_btn = plt.axes([0.15, 0.05, 0.075, 0.05]) bstore = Button(store_btn, 'store') bclear = Button(clear_btn, 'clear') bsnap = Button(snap_btn, 'snap') # Calling class to draw data on top of environment indexing = 1 # Set to 1 if you the snaps/data to be indexed with current time-stamp store_mat = 0 # Set to 1 if you want to store data in .mat structure for MATLAB draw_data = MouseTrajectory(points, indexing, store_mat) draw_data.connect() bstore.on_clicked(draw_data.store_callback) bclear.on_clicked(draw_data.clear_callback) bsnap.on_clicked(draw_data.snap_callback) # Show plt.show()
def makeDisplay(): global line1 global line2 global line3 global ax2 a = moose.element('/model/graphs/concA') b = moose.element('/model/graphs/concB') c = moose.element('/model/graphs/concC') img = mpimg.imread('simple_bistab.png') #plt.ion() fig = plt.figure(figsize=(8, 10)) png = fig.add_subplot(411) imgplot = plt.imshow(img) plt.axis('off') ax2 = fig.add_subplot(412) #ax.set_ylim( 0, 0.1 ) plt.ylabel('Conc (mM)') plt.xlabel('Time (s)') ax2.autoscale(enable=True, axis='y') plt.title("States of system.") t = numpy.arange(0, a.vector.size, 1) #sec line1, = ax2.plot(t, a.vector, 'r-', label='a') line2, = ax2.plot(t, b.vector, 'b-', label='b') line3, = ax2.plot(t, c.vector, 'g-', label='c') plt.legend() ax = fig.add_subplot(414) plt.axis('off') axcolor = 'palegreen' axReset = plt.axes([0.25, 0.05, 0.30, 0.03], facecolor='blue') axQuit = plt.axes([0.25, 0.10, 0.30, 0.03], facecolor='blue') axBuffer = plt.axes([0.60, 0.05, 0.30, 0.08], facecolor='yellow') axCinit = plt.axes([0.25, 0.15, 0.65, 0.03], facecolor=axcolor) axBinit = plt.axes([0.25, 0.20, 0.65, 0.03], facecolor=axcolor) axAinit = plt.axes([0.25, 0.25, 0.65, 0.03], facecolor=axcolor) axKcat2 = plt.axes([0.25, 0.30, 0.65, 0.03], facecolor=axcolor) axKcat1 = plt.axes([0.25, 0.35, 0.65, 0.03], facecolor=axcolor) #aInit = Slider( axAinit, 'A init conc', 0, 10, valinit=1.0, valstep=0.2) reset = Button(axReset, 'Reset', color='cyan') q = Button(axQuit, 'Quit', color='pink') aInit = Slider(axAinit, 'A init conc', 0, 10, valinit=1.0) bInit = Slider(axBinit, 'B init conc', 0, 10, valinit=0.0) cInit = Slider(axCinit, 'C init conc', 0, 0.1, valinit=0.01) kcat2 = Slider(axKcat2, 'Kcat for enz2', 0, 2, valinit=0.6) kcat1 = Slider(axKcat1, 'Kcat for enz1', 0, 2, valinit=0.4) setBuffer = RadioButtons(axBuffer, ('Buffering: None', 'A', 'B', 'C')) def resetParms(event): deleteSolvers() aInit.reset() bInit.reset() cInit.reset() kcat2.reset() kcat1.reset() makeSolvers() updateDisplay() reset.on_clicked(resetParms) q.on_clicked(doQuit) aInit.on_changed(updateAinit) bInit.on_changed(updateBinit) cInit.on_changed(updateCinit) kcat1.on_changed(updateKcat1) kcat2.on_changed(updateKcat2) setBuffer.on_clicked(bufferFunc) plt.show()