Mercurial > hg > may
changeset 108:8f6c2f87dc35
Some basic plotting
author | Chris Cannam |
---|---|
date | Fri, 29 Mar 2013 22:36:29 +0000 |
parents | 041c7f4aec2e |
children | 64772a8ea025 |
files | scraps/plot.yeti scraps/plot2.yeti yetilab/plot/plot.yeti |
diffstat | 3 files changed, 61 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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);
--- 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);
--- /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 } +