Mercurial > hg > may
diff yetilab/plot/plot.yeti @ 138:f68c92bd2adb
Slightly better text placement
author | Chris Cannam |
---|---|
date | Tue, 23 Apr 2013 17:01:19 +0100 |
parents | b28512329efc |
children | e95b474a42c3 |
line wrap: on
line diff
--- a/yetilab/plot/plot.yeti Tue Apr 23 16:27:28 2013 +0100 +++ b/yetilab/plot/plot.yeti Tue Apr 23 17:01:19 2013 +0100 @@ -4,7 +4,7 @@ import org.jzy3d.plot3d.text.drawable: DrawableTextBillboard, DrawableTextBitmap; import org.jzy3d.maths: Range, Coord3d; import org.jzy3d.plot3d.primitives: Shape, HistogramBar, FlatLine2d, Polygon, Quad, Point; -import org.jzy3d.plot3d.primitives.axes.layout.providers: StaticTickProvider; +import org.jzy3d.plot3d.primitives.axes.layout.providers: StaticTickProvider, RegularTickProvider; import org.jzy3d.plot3d.primitives.axes.layout.renderers: ITickRenderer, TickLabelMap; import org.jzy3d.chart: Chart, ChartLauncher; import org.jzy3d.plot3d.builder: Builder; @@ -240,19 +240,20 @@ stacked = stack opts.keys opts.xkeys values opts.normalised; var z = 0; var ty = 0; + nxk = length opts.xkeys; xtickLabels = new TickLabelMap(); - for [0..length opts.xkeys - 1] do x: + for [0..nxk - 1] do x: xtickLabels#register(x, opts.xkeys[x]); done; for opts.keys do k: ranges = stacked[k]; c = chartColour z; - for [0..length opts.xkeys - 1] do x: + for [0..nxk - 1] do x: xk = opts.xkeys[x]; rect = newRect x ranges[xk].y0 ranges[xk].y1 z c; scene#add(rect); done; - text = new DrawableTextBitmap(opts.labels[k], new Coord3d(-5, z, ty), c); + text = new DrawableTextBitmap(opts.labels[k], new Coord3d(-(nxk/5 + 0.5), z, ty), c); scene#add(text); z := z - 1; ty := ty + 0.1; @@ -260,6 +261,9 @@ chart#getView()#setViewPoint(new Coord3d(-pi/2, 0, 0)); axes = chart#getAxeLayout(); axes#setXAxeLabelDisplayed(false); +// if nxk < 10 then +// axes#setXTickProvider(new RegularTickProvider(nxk + 1)); +// fi; axes#setXTickRenderer(xtickLabels); axes#setYAxeLabelDisplayed(false); axes#setZAxeLabelDisplayed(true);