package org.jzy3d.chart2d;
import java.util.HashMap;
import java.util.Map;
import org.jzy3d.chart.AWTChart;
import org.jzy3d.chart.factories.IChartComponentFactory;
import org.jzy3d.chart.factories.IChartComponentFactory.Toolkit;
import org.jzy3d.maths.BoundingBox3d;
import org.jzy3d.plot2d.primitives.Serie2d;
import org.jzy3d.plot3d.primitives.axes.layout.IAxeLayout;
import org.jzy3d.plot3d.primitives.axes.layout.renderers.ElapsedTimeTickRenderer;
import org.jzy3d.plot3d.rendering.canvas.Quality;
import org.jzy3d.plot3d.rendering.view.View;
import org.jzy3d.plot3d.rendering.view.ViewportMode;
import org.jzy3d.plot3d.rendering.view.modes.ViewPositionMode;
import com.jogamp.opengl.GLCapabilities;
// TODO:
// AXEBOX ticks too long
// AXEBOX Y label sur le côté
// X Labels centrés
//
// Interface de LineSerie fournie par Chart2d package, using x, y float args
public class Chart2d extends AWTChart {
protected Map series = new HashMap();
public void layout2d() {
IAxeLayout axe = getAxeLayout();
axe.setZAxeLabelDisplayed(false);
axe.setTickLineDisplayed(false);
View view = getView();
view.setViewPositionMode(ViewPositionMode.TOP);
view.setSquared(true);
view.getCamera().setViewportMode(ViewportMode.STRETCH_TO_FILL);
}
public void asTimeChart(float timeMax, float ymin, float ymax, String xlabel, String ylabel) {
IAxeLayout axe = getAxeLayout();
axe.setYAxeLabel(ylabel);
axe.setXAxeLabel(xlabel);
axe.setXTickRenderer(new ElapsedTimeTickRenderer());
View view = getView();
view.setBoundManual(new BoundingBox3d(0, timeMax, ymin, ymax, -1, 1));
}
public Serie2d getSerie(String name, Serie2d.Type type) {
Serie2d serie = null;
if (!series.keySet().contains(name)) {
serie = factory.newSerie(name, type);
addDrawable(serie.getDrawable());
} else {
serie = series.get(name);
}
return serie;
}
/* */
public Chart2d() {
this(Toolkit.newt);
}
public Chart2d(Toolkit toolkit) {
this(new Chart2dComponentFactory(), toolkit);
}
public Chart2d(IChartComponentFactory factory, Toolkit toolkit) {
this(factory, Quality.Intermediate, toolkit);
}
public Chart2d(IChartComponentFactory factory, Quality quality) {
this(factory, quality, Toolkit.newt);
}
public Chart2d(IChartComponentFactory factory, Quality quality, Toolkit toolkit) {
this(factory, quality, toolkit.toString());
layout2d();
}
public Chart2d(IChartComponentFactory factory, Quality quality, String windowingToolkit, GLCapabilities capabilities) {
super(factory, quality, windowingToolkit, capabilities);
}
public Chart2d(IChartComponentFactory factory, Quality quality, String windowingToolkit) {
super(factory, quality, windowingToolkit);
layout2d();
}
public Chart2d(Quality quality, String windowingToolkit) {
super(quality, windowingToolkit);
}
public Chart2d(Quality quality) {
super(quality);
}
public Chart2d(String windowingToolkit) {
super(windowingToolkit);
}
}
Ads help maintain this website.