def on_draw(dt): window.clear() points.draw() # lin-lin transform = Position(LinearScale('.xy', domain=(0,10))) # log-lin transform = Position(LogScale('.x', domain=(-1,1)), LinearScale('.y', domain=(0,10))) # lin-log transform = Position(LinearScale('.x', domain=(0,10)), LogScale('.y', domain=(-1,1))) # log-log # transform = Position(LogScale('.xy', domain=(-1,1))) points = PointCollection("agg", transform = transform, color='local') X = np.linspace(0.01,10.0,10000).reshape(10000,1) Z = np.zeros((len(X),1)) points.append(np.hstack((X, X, Z)), color=(1,0,0,1)) points.append(np.hstack((X, np.log(X), Z)), color=(0,1,0,1)) points.append(np.hstack((X, 10**X, Z)), color=(0,0,1,1)) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
# Copyright (c) 2009-2016 Nicolas P. Rougier. All rights reserved. # Distributed under the (new) BSD License. # ----------------------------------------------------------------------------- import numpy as np from glumpy import app from glumpy.graphics.collections import PointCollection from glumpy.transforms import LinearScale, Position, Viewport window = app.Window(1024,1024, color=(1,1,1,1)) @window.event def on_draw(dt): window.clear() points.draw() @window.event def on_mouse_scroll(x,y,dx,dy): if dy < 0: transform["domain"] = 1.1*transform["domain"] else: transform["domain"] = transform["domain"]/1.1 transform = Position(LinearScale()) points = PointCollection("agg", transform = transform) points.append( P = np.random.normal(0,.5,(10000,3)) ) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
# ----------------------------------------------------------------------------- import numpy as np from glumpy import app from glumpy.graphics.collections import PointCollection from glumpy.transforms import LogScale, LinearScale, PolarProjection, Position, Viewport window = app.Window(1024,1024, color=(1,1,1,1)) @window.event def on_draw(dt): window.clear() points.draw() transform = Position(PolarProjection( LogScale('.x', domain=(-1,3), range=(0,1)), LinearScale('.y', domain=(0,2*np.pi), range=(0,2*np.pi)))) points = PointCollection("agg", transform = transform) n = 10000 R = np.random.uniform(0,1000,n) T = np.random.uniform(0,2*np.pi,n) Z = np.zeros(n) points.append (np.dstack((R,T,Z)).reshape(n,3) ) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
@window.event def on_draw(dt): window.clear() points.draw() # lin-lin transform = Position(LinearScale('.xy', domain=(0, 10))) # log-lin transform = Position(LogScale('.x', domain=(-1, 1)), LinearScale('.y', domain=(0, 10))) # lin-log transform = Position(LinearScale('.x', domain=(0, 10)), LogScale('.y', domain=(-1, 1))) # log-log # transform = Position(LogScale('.xy', domain=(-1,1))) points = PointCollection("agg", transform=transform, color='local') X = np.linspace(0.01, 10.0, 10000).reshape(10000, 1) Z = np.zeros((len(X), 1)) points.append(np.hstack((X, X, Z)), color=(1, 0, 0, 1)) points.append(np.hstack((X, np.log(X), Z)), color=(0, 1, 0, 1)) points.append(np.hstack((X, 10**X, Z)), color=(0, 0, 1, 1)) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
from glumpy import app from glumpy.graphics.collections import PointCollection from glumpy.transforms import LogScale, LinearScale, PolarProjection, Position, Viewport window = app.Window(1024, 1024, color=(1, 1, 1, 1)) @window.event def on_draw(dt): window.clear() points.draw() transform = Position( PolarProjection( LogScale('.x', domain=(-1, 3), range=(0, 1)), LinearScale('.y', domain=(0, 2 * np.pi), range=(0, 2 * np.pi)))) points = PointCollection("agg", transform=transform) n = 10000 R = np.random.uniform(0, 1000, n) T = np.random.uniform(0, 2 * np.pi, n) Z = np.zeros(n) points.append(np.dstack((R, T, Z)).reshape(n, 3)) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
window = app.Window(1024, 1024, color=(1, 1, 1, 1)) @window.event def on_draw(dt): window.clear() points.draw() @window.event def on_mouse_scroll(x, y, dx, dy): if dy < 0: transform["exponent"] = np.minimum(10.0, 1.1 * transform["exponent"]) else: transform["exponent"] = np.maximum(0.1, transform["exponent"] / 1.1) transform = Position(PowerScale()) transform["exponent"] = 2 transform["domain"] = -10, +10 points = PointCollection("agg", transform=transform) P = np.random.uniform(-100, 100, (10000, 3)) P = np.copysign(np.sqrt(abs(P)), P) points.append(P) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
# ----------------------------------------------------------------------------- import numpy as np from glumpy import app from glumpy.graphics.collections import PointCollection from glumpy.transforms import LinearScale, Position, Viewport window = app.Window(1024, 1024, color=(1, 1, 1, 1)) @window.event def on_draw(dt): window.clear() points.draw() @window.event def on_mouse_scroll(x, y, dx, dy): if dy < 0: transform["domain"] = 1.1 * transform["domain"] else: transform["domain"] = transform["domain"] / 1.1 transform = Position(LinearScale()) points = PointCollection("agg", transform=transform) points.append(P=np.random.normal(0, .5, (10000, 3))) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
# Distributed under the (new) BSD License. # ----------------------------------------------------------------------------- import numpy as np from glumpy import app from glumpy.graphics.collections import PointCollection from glumpy.transforms import LogScale, Position, Viewport window = app.Window(1024,1024, color=(1,1,1,1)) @window.event def on_draw(dt): window.clear() points.draw() @window.event def on_mouse_scroll(x,y,dx,dy): if dy < 0: transform["base"] = np.minimum(20., 1.1*transform["base"]) else: transform["base"] = np.maximum(1., transform["base"]/1.1) transform = Position(LogScale()) transform["domain"] = -1,2 # = [base^-1, base^2] points = PointCollection("agg", transform = transform) P = np.random.uniform(0,10,(10000,3)) points.append(P*P) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()
from glumpy.graphics.collections import PointCollection from glumpy.transforms import PowerScale, Position, Viewport window = app.Window(1024,1024, color=(1,1,1,1)) @window.event def on_draw(dt): window.clear() points.draw() @window.event def on_mouse_scroll(x,y,dx,dy): if dy < 0: transform["exponent"] = np.minimum(10.0, 1.1*transform["exponent"]) else: transform["exponent"] = np.maximum(0.1, transform["exponent"]/1.1) transform = Position(PowerScale()) transform["exponent"] = 2 transform["domain"] = -10,+10 points = PointCollection("agg", transform = transform) P = np.random.uniform(-100,100,(10000,3)) P = np.copysign(np.sqrt(abs(P)),P) points.append(P) window.attach(points["transform"]) window.attach(points["viewport"]) app.run()