00001 package org.swtchart.examples;
00002
00003 import org.eclipse.swt.SWT;
00004 import org.eclipse.swt.graphics.Color;
00005 import org.eclipse.swt.layout.FillLayout;
00006 import org.eclipse.swt.widgets.Composite;
00007 import org.eclipse.swt.widgets.Display;
00008 import org.eclipse.swt.widgets.Shell;
00009 import org.swtchart.Chart;
00010 import org.swtchart.IAxis;
00011 import org.swtchart.ILineSeries;
00012 import org.swtchart.IAxis.Position;
00013 import org.swtchart.ISeries.SeriesType;
00014
00018 public class MultipleAxesExample {
00019
00020 private static final double[] ySeries1 = { 0.0, 0.38, 0.71, 0.92, 1.0,
00021 0.92, 0.71, 0.38, 0.0, -0.38, -0.71, -0.92, -1.0, -0.92, -0.71,
00022 -0.38 };
00023
00024 private static final double[] ySeries2 = { 2, 11, 19, 23, 18, 15, 18, 26,
00025 29, 32, 47, 32, 31, 35, 30, 29 };
00026
00033 public static void main(String[] args) {
00034 Display display = new Display();
00035 Shell shell = new Shell(display);
00036 shell.setText("Multiple Axes");
00037 shell.setSize(500, 400);
00038 shell.setLayout(new FillLayout());
00039
00040 createChart(shell);
00041
00042 shell.open();
00043 while (!shell.isDisposed()) {
00044 if (!display.readAndDispatch()) {
00045 display.sleep();
00046 }
00047 }
00048 display.dispose();
00049 }
00050
00058 static public Chart createChart(Composite parent) {
00059
00060
00061 Chart chart = new Chart(parent, SWT.NONE);
00062
00063
00064 chart.getTitle().setText("Multiple Axes");
00065 chart.getAxisSet().getXAxis(0).getTitle().setText("Data Points");
00066 chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude 1");
00067
00068
00069 int axisId = chart.getAxisSet().createYAxis();
00070
00071
00072 IAxis yAxis2 = chart.getAxisSet().getYAxis(axisId);
00073 yAxis2.setPosition(Position.Secondary);
00074 final Color RED = Display.getDefault().getSystemColor(SWT.COLOR_RED);
00075 yAxis2.getTick().setForeground(RED);
00076 yAxis2.getTitle().setForeground(RED);
00077 yAxis2.getTitle().setText("Amplitude 2");
00078
00079
00080 ILineSeries lineSeries1 = (ILineSeries) chart.getSeriesSet()
00081 .createSeries(SeriesType.LINE, "line series 1");
00082 lineSeries1.setYSeries(ySeries1);
00083 ILineSeries lineSeries2 = (ILineSeries) chart.getSeriesSet()
00084 .createSeries(SeriesType.LINE, "line series 2");
00085 lineSeries2.setYSeries(ySeries2);
00086 lineSeries2.setLineColor(RED);
00087
00088
00089 lineSeries2.setYAxisId(axisId);
00090
00091
00092 chart.getAxisSet().adjustRange();
00093
00094 return chart;
00095 }
00096 }