package demo.line;
import org.zkoss.chart.Charts;
import org.zkoss.chart.XAxis;
import org.zkoss.chart.YAxis;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Window;
public class SplineInvertedComposer extends SelectorComposer<Window> {
@Wire
Charts chart;
public void doAfterCompose(Window comp) throws Exception {
super.doAfterCompose(comp);
chart.setModel(SplineInvertedData.getXYModel());
XAxis xAxis = chart.getXAxis();
xAxis.setReversed(false);
xAxis.setTitle("Altitude");
xAxis.getLabels().setFormat("{value} km");
xAxis.getAccessibility().setRangeDescription("Range: 0 to 80 km.");
xAxis.setMaxPadding(0.05);
xAxis.setShowLastLabel(true);
YAxis yAxis = chart.getYAxis();
yAxis.setTitle("Temperature");
yAxis.getLabels().setFormat("{value}°");
yAxis.getAccessibility().setRangeDescription("Range: -90°C to 20°C.");
yAxis.setLineWidth(2);
chart.getLegend().setEnabled(false);
chart.getTooltip().setHeaderFormat("<b>{series.name}</b><br/>");
chart.getTooltip().setPointFormat("{point.x} km: {point.y}°C");
}
}
package demo.line;
import org.zkoss.chart.model.DefaultXYModel;
import org.zkoss.chart.model.XYModel;
public class SplineInvertedData {
private static final XYModel model;
static {
model = new DefaultXYModel();
model.addValue("Temperature", 0, 15);
model.addValue("Temperature", 10, -50);
model.addValue("Temperature", 20, -56.5);
model.addValue("Temperature", 30, -46.5);
model.addValue("Temperature", 40, -22.1);
model.addValue("Temperature", 50, -2.5);
model.addValue("Temperature", 60, -27.7);
model.addValue("Temperature", 70, -55.7);
model.addValue("Temperature", 80, -76.5);
}
public static XYModel getXYModel() {
return model;
}
}