Mercurial > hg > may
comparison yetilab/plot/plot.yeti @ 128:c5dd12a15993
Start adding text labels
author | Chris Cannam |
---|---|
date | Sat, 20 Apr 2013 19:12:04 +0100 |
parents | 9baaaf37a008 |
children | 759edd0d02ce |
comparison
equal
deleted
inserted
replaced
127:9baaaf37a008 | 128:c5dd12a15993 |
---|---|
1 module yetilab.plot.plot; | 1 module yetilab.plot.plot; |
2 | 2 |
3 import org.jzy3d.plot3d.builder: Mapper; | 3 import org.jzy3d.plot3d.builder: Mapper; |
4 import org.jzy3d.plot3d.text.drawable: DrawableTextBillboard, DrawableTextBitmap; | |
4 import org.jzy3d.maths: Range, Coord3d; | 5 import org.jzy3d.maths: Range, Coord3d; |
5 import org.jzy3d.plot3d.primitives: Shape, HistogramBar, FlatLine2d, Polygon, Quad, Point; | 6 import org.jzy3d.plot3d.primitives: Shape, HistogramBar, FlatLine2d, Polygon, Quad, Point; |
6 import org.jzy3d.plot3d.primitives.axes.layout.providers: StaticTickProvider; | 7 import org.jzy3d.plot3d.primitives.axes.layout.providers: StaticTickProvider; |
7 import org.jzy3d.plot3d.primitives.axes.layout.renderers: TickLabelMap; | 8 import org.jzy3d.plot3d.primitives.axes.layout.renderers: TickLabelMap; |
8 import org.jzy3d.chart: Chart, ChartLauncher; | 9 import org.jzy3d.chart: Chart, ChartLauncher; |
127 done; | 128 done; |
128 done; | 129 done; |
129 stacked); | 130 stacked); |
130 | 131 |
131 plotStacked keys xkeys unit values = | 132 plotStacked keys xkeys unit values = |
132 (chart = new Chart(Quality#Nicest); | 133 (quality = Quality#Nicest; |
134 quality#setAnimated(false); | |
135 chart = new Chart(quality); | |
133 scene = chart#getScene(); | 136 scene = chart#getScene(); |
134 stacked = stack keys xkeys values; | 137 stacked = stack keys xkeys values; |
135 var z = 0; | 138 var z = 0; |
136 newRect x y0 y1 z colour is number -> number -> number -> number -> ~Color -> 'a = | 139 newRect x y0 y1 z colour is number -> number -> number -> number -> ~Color -> 'a = |
137 (poly = new Quad(); | 140 (poly = new Quad(); |
145 poly#setColor(colour); | 148 poly#setColor(colour); |
146 poly); | 149 poly); |
147 for keys do k: | 150 for keys do k: |
148 ranges = stacked[k]; | 151 ranges = stacked[k]; |
149 var x = 0; | 152 var x = 0; |
153 var ty = 0; | |
150 c = Color#random(); | 154 c = Color#random(); |
151 for xkeys do xk: | 155 for xkeys do xk: |
152 rect = newRect x ranges[xk].y0 ranges[xk].y1 z c; | 156 rect = newRect x ranges[xk].y0 ranges[xk].y1 z c; |
153 scene#add(rect); | 157 scene#add(rect); |
154 x := x + 1; | 158 x := x + 1; |
155 done; | 159 done; |
160 text = new DrawableTextBitmap(k, new Coord3d(0, z, ty), c); | |
161 scene#add(text); | |
156 z := z - 1; | 162 z := z - 1; |
163 ty := ty + 10; | |
157 done; | 164 done; |
158 chart#getView()#setViewPoint(new Coord3d(pi/2, 0, 0)); | 165 chart#getView()#setViewPoint(new Coord3d(pi/2, 0, 0)); |
159 axes = chart#getAxeLayout(); | 166 axes = chart#getAxeLayout(); |
160 axes#setXAxeLabelDisplayed(false); | 167 axes#setXAxeLabelDisplayed(false); |
161 axes#setYAxeLabelDisplayed(false); | 168 axes#setYAxeLabelDisplayed(false); |