def __init__(self, **kwargs): super(self.__class__, self).__init__(**kwargs) colours = [ "black", "red", "orange", "yellow", "green", "blue", "magenta", "cyan" ] # allow toggling of SVG draw mode draw_toggle_values = [ "select", "rect", "circle", "ellipse", "line", "path" ] self.draw_toggle = widgets.ToggleButtonsWidget( values=draw_toggle_values, description="Choose drawing tool:") # set up the stroke controls self.stroke_picker = widgets.DropdownWidget( values=colours, description="Stroke colour:") self.stroke_width_slider = widgets.FloatSliderWidget( min=0, max=20, value=3, description="Stroke width:") self.stroke_container = HorizontalContainerWidget() self.stroke_container.children = [ self.stroke_picker, self.stroke_width_slider ] # set up the fill controls self.fill_picker = widgets.DropdownWidget(values=["none"] + colours, description="Fill colour:") self.fill_opacity_slider = widgets.FloatSliderWidget( min=0, max=1, value=0.5, description="Fill opacity:") self.fill_container = HorizontalContainerWidget() self.fill_container.children = [ self.fill_picker, self.fill_opacity_slider ] # the main SVG self.svg = SVGWidget() # border the SVG self.svg.set_css('border', '1px solid black') # link the control widgets to the SVG control variables self.mode_link = traitlets.link((self.draw_toggle, 'value'), (self.svg, 'mode')) self.stroke_link = traitlets.link((self.stroke_picker, 'value'), (self.svg, 'stroke')) self.stroke_width_link = traitlets.link( (self.stroke_width_slider, 'value'), (self.svg, 'stroke_width')) self.fill_link = traitlets.link((self.fill_picker, 'value'), (self.svg, 'fill')) self.fill_opacity_link = traitlets.link( (self.fill_opacity_slider, 'value'), (self.svg, 'fill_opacity')) # define the main container's children self.children = [ self.draw_toggle, self.stroke_container, self.fill_container, self.svg ]
def plotrot3Dpersp(gieren = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=0.0, description=""), \ nicken = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=0.0, description=""), \ wanken = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=0.0, description="")): R = Rypr(gieren, nicken, wanken) print('%s' % R) x, y, z = R*g hor = (0, 90, 45) vert= (90, 0, 45) tit = ('Seitenansicht', 'Draufsicht', '3D') fig = plt.figure(figsize=(15,4.5)) for subplotnumber in range(3): ax = fig.add_subplot(1,3, subplotnumber, projection='3d') ax.plot([0, x], [0, y], [0, z], label='$g \cdot R$') ax.plot([0, g[0]], [0, g[1]], [0, g[2]], label='$g$') ax.scatter(0,0,0, color='k') ax.axis('equal') ax.view_init(hor[subplotnumber], vert[subplotnumber]) plt.xlabel('X') plt.ylabel('Y') plt.xlim(-1, 1) plt.ylim(-1, 1) plt.title(tit[subplotnumber] + '\nG: %i, N: %i, W: %i' % (gieren, nicken, wanken)) ax.set_zlim3d(-1, 1) plt.legend(loc='best'); plt.tight_layout()
def plotmultivargauss(wd = widgets.FloatSliderWidget(min=0.005, max=1.0, step=0.005, value=0.05, description=""), \ phib = widgets.FloatSliderWidget(min=0.01, max=1.0, step=0.01, value=0.01, description=""), \ d = widgets.FloatSliderWidget(min=0.0, max=10.0, step=0.1, value=1.0, description=""), \ phi = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.1, value=0.6, description=""), \ wb = widgets.FloatSliderWidget(min=0.01, max=1.0, step=0.01, value=0.01, description="")): dd = 1.0/np.tan(phib/2.0) * wb/2 p = {} p['p1'] = (((d+dd-wd) * np.cos(phi-phib)) - dd*np.cos(phi), ((d+dd-wd) * np.sin(phi-phib)) - dd*np.sin(phi)) p['p2'] = (((d+dd+wd) * np.cos(phi-phib)) - dd*np.cos(phi), ((d+dd+wd) * np.sin(phi-phib)) - dd*np.sin(phi)) p['p3'] = (((d+dd-wd) * np.cos(phi+phib)) - dd*np.cos(phi), ((d+dd-wd) * np.sin(phi+phib)) - dd*np.sin(phi)) p['p4'] = (((d+dd+wd) * np.cos(phi+phib)) - dd*np.cos(phi), ((d+dd+wd) * np.sin(phi+phib)) - dd*np.sin(phi)) plt.figure(figsize=(10,5)) plt.subplot(121) [plt.scatter(v[0], v[1], s=10) for k,v in p.iteritems()] plt.plot((0, d*np.cos(phi)), (0, d*np.sin(phi)), c='r', alpha=0.5) plt.axis('equal') plt.title('Error Bounding Box') plt.scatter(0,0, s=50, c='k', label='Sensor') plt.subplot(122) [plt.scatter(v[0], v[1], s=100) for k,v in p.iteritems()] plt.axis('equal') axlims = plt.axis() plt.plot((0, d*np.cos(phi)), (0, d*np.sin(phi)), c='r', alpha=0.5) plt.axis(axlims) plt.title('Error Bounding Box (Zoom In)') plt.tight_layout() return plt
def plotmultivargauss(wd = widgets.FloatSliderWidget(min=0.005, max=1.0, step=0.005, value=0.05, description=""), \ phib = widgets.FloatSliderWidget(min=0.01, max=1.0, step=0.01, value=0.01, description=""), \ d = widgets.FloatSliderWidget(min=0.0, max=10.0, step=0.1, value=1.0, description=""), \ phi = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.1, value=0.6, description="")): p = {} p['p1'] = ((d-wd) * np.cos(phi-phib), (d-wd) * np.sin(phi-phib)) p['p2'] = ((d+wd) * np.cos(phi-phib), (d+wd) * np.sin(phi-phib)) p['p3'] = ((d+wd) * np.cos(phi+phib), (d+wd) * np.sin(phi+phib)) p['p4'] = ((d-wd) * np.cos(phi+phib), (d-wd) * np.sin(phi+phib)) plt.figure(figsize=(10,5)) plt.subplot(121) [plt.scatter(v[0], v[1], s=10) for k,v in p.iteritems()] plt.plot((0, d*np.cos(phi)), (0, d*np.sin(phi)), c='r', alpha=0.5) plt.axis('equal') plt.xlabel('x [$m$]') plt.ylabel('y [$m$]') plt.title('Error Bounding Box') plt.scatter(0,0, s=50, c='k', label='Sensor') plt.subplot(122) [plt.scatter(v[0], v[1], s=100) for k,v in p.iteritems()] plt.axis('equal') axlims = plt.axis() plt.plot((0, d*np.cos(phi)), (0, d*np.sin(phi)), c='r', alpha=0.5) plt.axis(axlims) plt.title('Error Bounding Box (Zoom In)') plt.tight_layout() #plt.savefig('InverseSensorModel-Langerwisch-BoundingBox.png', dpi=150) return plt
def plotmultivargauss(az=widgets.FloatSliderWidget(min=-90.0, max=90.0, step=1.0, value=45.0, description=""), el=widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=-115.0, description="")): plot3Dgrid(grid, az, el)
def interactA(): widH = widgets.IntSliderWidget(min=0, max=1000, step=1, value=100) widZ = widgets.IntSliderWidget(min=0, max=1000, step=1, value=1) wida = widgets.FloatSliderWidget(min=0.01, max=1, step=0.01, value=0.05) widb = widgets.FloatSliderWidget(min=0.1, max=1, step=0.05, value=0.3) widz = widgets.FloatSliderWidget(min=0.01, max=0.5, step=0.01, value=0.2) interact(graficaSolucionA, humanos=widH, zombies=widZ, muertos=fixed(0), a=wida, b=(0.1, 1, 0.05), z=(0.01, 0.5, 0.01))
def __init__(self, *args, **kwargs): self.defaults = dict( metabotype=METABOTYPE_ALL, database=DATABASE_HMDB, ph=SAMPLE_PH7_10, solvent=SOLVENT_WATER, frequency=FREQUENCY_600, method=METHOD_HIGHEST_NUMBER_NEIGHBOURHOOD, noise=DEFAULT_NOISE_THRESHOLD, confidence=DEFAULT_CONFIDENCE_THRESHOLD, tolerance=DEFAULT_TOLERANCE ) # Overwrite the settings using kwargs passed on create self.settings = dict( self.defaults.items() + kwargs.items() ) # Set up widgets self.form = widgets.ContainerWidget() self.form.set_css({'width':'20ex'}, selector='.widget-hlabel') w_metabotype = widgets.DropdownWidget(description="Metabotype:", value=self.settings['metabotype'], values=METABOTYPES) w_metabotype.on_trait_change(lambda t, value: self.set_value('metabotype', value), 'value' ) w_database = widgets.DropdownWidget(description="Database:", value=self.settings['database'], values=DATABASES) w_database.on_trait_change(lambda t, value: self.set_value('database', value), 'value' ) w_ph = widgets.DropdownWidget(description="pH:", value=self.settings['ph'], values=SAMPLE_PHS) w_ph.on_trait_change(lambda t, value: self.set_value('ph', value), 'value' ) w_solvent = widgets.DropdownWidget(description="Solvent:", value=self.settings['solvent'], values=SOLVENTS) w_solvent.on_trait_change(lambda t, value: self.set_value('solvent', value), 'value' ) w_frequency = widgets.DropdownWidget(description="Frequency MHz:", value=self.settings['frequency'], values=FREQUENCIES) w_frequency.on_trait_change(lambda t, value: self.set_value('frequency', value), 'value' ) w_method = widgets.DropdownWidget(description="Method:", value=self.settings['method'], values=METHODS) w_method.on_trait_change(lambda t, value: self.set_value('method', value), 'value' ) w_noise = widgets.FloatSliderWidget(description="Noise threshold:", value=self.settings['noise'], min=0., max=10., step=0.01) w_noise.on_trait_change(lambda t, value: self.set_value('noise', value), 'value' ) w_confidence = widgets.FloatSliderWidget(description="Confidence threshold:", value=self.settings['confidence'], min=0., max=1., step=0.1) w_confidence.on_trait_change(lambda t, value: self.set_value('confidence', value), 'value' ) w_tolerance = widgets.FloatSliderWidget(description="Shift tolerance:", value=self.settings['tolerance'], min=0., max=10., step=0.01) w_tolerance.on_trait_change(lambda t, value: self.set_value('tolerance', value), 'value' ) self.form.children = [ w_metabotype, w_database, w_ph, w_solvent, w_frequency, w_method, w_noise, w_confidence, w_tolerance]
def factorizer(): box = widgets.ContainerWidget() header = widgets.HTMLWidget(value="<h1>Integer Factorizer</h1><br>") number = widgets.IntSliderWidget(description="Number:", value=100) speed = widgets.FloatSliderWidget(description="Delay:", min=0.0, max=0.2, value=0.1, step=0.01) subbox = widgets.ContainerWidget() button = widgets.ButtonWidget(description="Calculate") subbox.children = [button] box.children = [header, number, speed, subbox] display(box) box.add_class('align-center') box.add_class('center') box.add_class('well well-small') box.set_css('width', 'auto') subbox.remove_class('vbox') subbox.add_class('hbox') # subbox.add_class('end') def handle_caclulate(sender): plot_primes(number.value, delay=speed.value) button.on_click(handle_caclulate)
def interactB(): widH = widgets.IntSliderWidget(min=0, max=1000, step=1, value=100) widZ = widgets.IntSliderWidget(min=0, max=1000, step=1, value=1) widI = widgets.IntSliderWidget(min=0, max=10, step=1, value=0) wida = widgets.FloatSliderWidget(min=0.01, max=1, step=0.01, value=0.05) widb = widgets.FloatSliderWidget(min=0.1, max=1, step=0.05, value=0.6) widz = widgets.FloatSliderWidget(min=0.01, max=0.5, step=0.01, value=0.2) widr = widgets.FloatSliderWidget(min=0.1, max=1, step=0.05, value=0.9) interact(solucionB, humanos=widH, infectados=widI, zombies=widZ, muertos=fixed(0), a=wida, b=widb, z=widz, r=widr)
def plotmultivargauss(sigmaz = widgets.FloatSliderWidget(min=0.01, max=5.0, step=0.01, value=0.3, description=""), \ sigmat = widgets.FloatSliderWidget(min=0.01, max=1.0, step=0.01, value=0.2, description=""), \ dxy = widgets.FloatSliderWidget(min=0.0, max=9.0, step=0.1, value=4.0, description=""), \ txy = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.1, value=0.0, description="")): x,y,P = calcmultivargauss(sigmaz, sigmat, dxy, txy) plt.contourf(x, y, P, cmap=cm.gray_r) plt.scatter(0, 0, s=250, c='k') plt.plot([0, 10*np.cos(np.max(ts))],[0, 10*np.sin(np.max(ts))], '--k') plt.plot([0, 10*np.cos(np.min(ts))],[0, 10*np.sin(np.min(ts))], '--k') plt.xlabel('X'); plt.ylabel('Y'); plt.xlim([0, 8]); plt.ylim([-4, 4]); return plt
def pick_hard_threshold(self): w = interactive(self._soft_threshold, method=('spearman', 'pearson', 'kendall'), power=widgets.FloatSliderWidget(min=0, max=.99, step=.01, value=0.5), signed=True) display(w)
def plotrot3Dpersp(gieren = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=-120.0, description=""), \ nicken = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=0.0, description=""), \ wanken = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=60.0, description=""), \ kippen = widgets.FloatSliderWidget(min=0.0, max=90.0, step=1.0, value=2.0, description=""), \ rotieren = widgets.FloatSliderWidget(min=-180.0, max=180.0, step=1.0, value=100.0, description="")): R = Rypr(gieren, nicken, wanken) print('%s' % R) x, y, z = R * np.array([pc.values]).T fig = plt.figure(figsize=(14,6)) ax = Axes3D(fig) ax.scatter(x.tolist(), y.tolist(), z.tolist()) ax.axis('equal') ax.set_zlim3d(-6.0, 1.0) plt.xlabel('x'); plt.ylabel('y'); plt.title('\nG: %i, N: %i, W: %i' % (gieren, nicken, wanken)) ax.view_init(kippen, rotieren)
def plotGridLayer(z=widgets.FloatSliderWidget(min=0, max=np.max(grid.shape[2]) - 1, step=1, value=10, description="")): plt.figure(figsize=(l / 2, b / 2)) plt.contourf(grid[:, :, z], cmap=cm.Greens) plt.colorbar(label='log-odd(p)') plt.axis('equal') plt.title('z-Layer: %i' % z) plt.xlabel('X') plt.ylabel('Y')
def plotrot3Dpersp(a = widgets.FloatSliderWidget(min=-0.99, max=0.99, step=0.01, value=0.0, description=""), \ b = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.01, value=1.0, description=""), \ c = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.01, value=0.0, description=""), \ d = widgets.FloatSliderWidget(min=-1.0, max=1.0, step=0.01, value=0.0, description="")): q = np.array([a, b, c, d]) R = QtoR(q) print('Rotationsmatrix aus Quaternion\n%s' % R) gieren, nicken, wanken = Q2Eul(q) x, y, z = R*g hor = (0, 90, 45) vert= (90, 0, 45) tit = ('Seitenansicht', 'Draufsicht', '3D') fig = plt.figure(figsize=(15,4.5)) for subplotnumber in range(3): ax = fig.add_subplot(1,3, subplotnumber, projection='3d') ax.plot([0, x], [0, y], [0, z], label='$g \cdot R$') ax.plot([0, g[0]], [0, g[1]], [0, g[2]], label='$g$') # Drehachse einzeichnen w, n = Q2DuD(q) ax.plot([0, n[0]], [0, n[1]], [0, n[2]], label='$n_R$', color='gray') ax.scatter(0,0,0, color='k') ax.axis('equal') ax.view_init(hor[subplotnumber], vert[subplotnumber]) plt.xlabel('X') plt.ylabel('Y') plt.title(tit[subplotnumber] + '\nG: %i, N: %i, W: %i' % (gieren, nicken, wanken)) plt.xlim(-1, 1) plt.ylim(-1, 1) ax.set_zlim3d(-1, 1) plt.legend(loc='best'); plt.tight_layout()
def interact(self): self.itcs.positionMasts(self.mastCoords, self.mastHeights) swExtent = self.mastCoords.min(axis=0) neExtent = self.mastCoords.max(axis=0) w = widgets.interactive( self.posPlatform, xPlat=widgets.FloatSliderWidget(min=swExtent[0], max=neExtent[0], value=self.platCoord[0], step=1.0), yPlat=widgets.FloatSliderWidget(min=swExtent[1], max=neExtent[1], value=self.platCoord[1], step=1.0), height=widgets.FloatSliderWidget(min=0, max=200, value=self.platHeight), weight=widgets.FloatSliderWidget(min=0, max=1000, value=500)) display.display(w)
def interactC(): widH = widgets.IntSliderWidget(min=0, max=1000, step=1, value=100) widZ = widgets.IntSliderWidget(min=0, max=1000, step=1, value=1) widI = widgets.IntSliderWidget(min=0, max=10, step=1, value=0) wida = widgets.FloatSliderWidget(min=0.01, max=1, step=0.01, value=0.05) widb = widgets.FloatSliderWidget(min=0.1, max=1, step=0.05, value=0.85) widz = widgets.FloatSliderWidget(min=0.01, max=0.5, step=0.01, value=0.09) widr = widgets.FloatSliderWidget(min=0.1, max=1, step=0.05, value=0.8) widk = widgets.FloatSliderWidget(min=0.1, max=1, step=0.1, value=0.3) wids = widgets.FloatSliderWidget(min=0.01, max=0.5, step=0.01, value=0.01) widg = widgets.FloatSliderWidget(min=0.1, max=1, step=0.1, value=0.6) interact(solucionC, humanos=widH, infectados=widI, zombies=widZ, muertos=fixed(0), cuarentena=fixed(0), a=wida, b=widb, z=widz, r=widr, k=widk, s=wids, g=widg)
def plotmultivargauss(z = widgets.FloatSliderWidget(min=0, max=np.max(grid.shape[2])-1, step=1, value=10, description="")): plt.figure(figsize=(l/2, b/2)) plt.contourf(grid[:,:,z], cmap=cm.Greens) plt.axis('equal') plt.xlabel('X') plt.ylabel('Y')
topojson='objects.us_counties_20m') embed_map(map) # <headingcell level=1> # Blending folium with interact # <codecell> from IPython.html import widgets from IPython.display import display, Image, HTML, clear_output # <codecell> # not the most interesting demo --> but a proof of concept on how we can control map using interact def plot_map(lat, long, zoom): map = folium.Map(location=[lat, long], zoom_start=zoom) map.simple_marker([lat, long], popup='lat:{lat} long:{long}'.format(lat=lat,long=long)) display(inline_map(map)) widgets.interact(plot_map, lat=widgets.FloatSliderWidget(min=-90,max=90,step=0.1,value=0), long=widgets.FloatSliderWidget(min=-180,max=180,step=0.1,value=0), zoom=widgets.IntSliderWidget(min=0,max=20,step=1,value=2)) # <codecell>