# HG changeset patch # User Chris Cannam # Date 1364596589 0 # Node ID 8f6c2f87dc355403aa37ad45e6f95766abadb6cf # Parent 041c7f4aec2e14f1601384c49e263eaa43c04aec Some basic plotting diff -r 041c7f4aec2e -r 8f6c2f87dc35 scraps/plot.yeti --- a/scraps/plot.yeti Thu Mar 28 21:37:29 2013 +0000 +++ b/scraps/plot.yeti Fri Mar 29 22:36:29 2013 +0000 @@ -1,16 +1,19 @@ -program plot; +module scraps.plot; + import org.jzy3d.chart: Chart; -c = new Chart(); +import org.jzy3d.plot3d.rendering.canvas: Quality; import org.jzy3d.maths: Coord3d; -points = new Coord3d[1000]; -r () = Math#random() - 0.5; for [0..999] do i: points[i] := new Coord3d(r(),r(),r()) done; import org.jzy3d.plot3d.primitives: MultiColorScatter; import org.jzy3d.colors.colormaps: ColorMapRainbow; import org.jzy3d.colors: ColorMapper; +import org.jzy3d.colors: Color; +import org.jzy3d.chart: ChartLauncher; + +points = new Coord3d[1000]; +r () = Math#random() - 0.5; for [0..999] do i: points[i] := new Coord3d(r(),r(),r()) done; m = new MultiColorScatter(points, new ColorMapper(new ColorMapRainbow (), -0.5, 0.5)); -import org.jzy3d.colors: Color; +c = new Chart(Quality#Advanced); c#getAxeLayout()#setMainColor(Color#WHITE); c#getView()#setBackgroundColor(Color#BLACK); c#getScene()#add(m); -import org.jzy3d.chart: ChartLauncher; ChartLauncher#openChart(c); diff -r 041c7f4aec2e -r 8f6c2f87dc35 scraps/plot2.yeti --- a/scraps/plot2.yeti Thu Mar 28 21:37:29 2013 +0000 +++ b/scraps/plot2.yeti Fri Mar 29 22:36:29 2013 +0000 @@ -1,4 +1,4 @@ -module plot2; +module scraps.plot2; import org.jzy3d.plot3d.builder: Mapper; import org.jzy3d.maths: Range; @@ -29,7 +29,7 @@ surface#setWireframeDisplayed(false); surface#setWireframeColor(Color#BLACK); -chart = new Chart(Quality#Advanced); +chart = new Chart(Quality#Nicest); chart#getScene()#getGraph()#add(surface); ChartLauncher#openChart(chart); diff -r 041c7f4aec2e -r 8f6c2f87dc35 yetilab/plot/plot.yeti --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/yetilab/plot/plot.yeti Fri Mar 29 22:36:29 2013 +0000 @@ -0,0 +1,50 @@ +module yetilab.plot.plot; + +import org.jzy3d.plot3d.builder: Mapper; +import org.jzy3d.maths: Range; +import org.jzy3d.plot3d.primitives: Shape; +import org.jzy3d.chart: Chart, ChartLauncher; +import org.jzy3d.plot3d.builder: Builder; +import org.jzy3d.plot3d.builder.concrete: OrthonormalGrid; +import org.jzy3d.colors.colormaps: ColorMapRainbow; +import org.jzy3d.colors: ColorMapper; +import org.jzy3d.colors: Color; +import org.jzy3d.plot3d.rendering.canvas: Quality; + +newMatrixMapper matrix = + (class MMapper extends Mapper + double f(double x, double y) + matrix.getAt y x + end; + new MMapper()); + +newMatrixLogMapper matrix = + (class MMapper extends Mapper + double f(double x, double y) + ln (matrix.getAt y x) + end; + new MMapper()); + +newMapper mapFunction = + (class FMapper extends Mapper + double f(double x, double y) + mapFunction x y + end; + new FMapper()); + +plot matrix = + (mapper = newMatrixLogMapper matrix; + size = matrix.size; + xrange = new Range(1, size.columns - 1); + yrange = new Range(1, size.rows - 1); + grid = new OrthonormalGrid(xrange, size.columns, yrange, size.rows); + surface = Builder#buildOrthonormal(grid, mapper); + surface#setFaceDisplayed(true); + surface#setWireframeDisplayed(true); + surface#setWireframeColor(Color#BLACK); + chart = new Chart(Quality#Nicest); + chart#getScene()#getGraph()#add(surface); + ChartLauncher#openChart(chart)); + +{ plot } +