00001 package org.swtchart.examples.ext;
00002
00003 import org.eclipse.swt.SWT;
00004 import org.eclipse.swt.layout.FillLayout;
00005 import org.eclipse.swt.widgets.Composite;
00006 import org.eclipse.swt.widgets.Display;
00007 import org.eclipse.ui.part.ViewPart;
00008 import org.swtchart.Chart;
00009 import org.swtchart.IBarSeries;
00010 import org.swtchart.ILineSeries;
00011 import org.swtchart.ISeries.SeriesType;
00012 import org.swtchart.ext.InteractiveChart;
00013
00017 public class InteractiveChartExample extends ViewPart {
00018
00019 private static final String[] categorySeries = { "Mon", "Tue", "Wed",
00020 "Thu", "Fri" };
00021 private static final double[] yLineSeries1 = { 4.6, 5.4, 6.9, 5.6, 7.1 };
00022 private static final double[] yLineSeries2 = { 6.0, 5.1, 4.9, 5.3, 4.2 };
00023 private static final double[] yBarSeries1 = { 1.1, 2.9, 3.3, 4.4, 3.5 };
00024 private static final double[] yBarSeries2 = { 4.3, 3.4, 2.8, 2.1, 1.9 };
00025
00027 private Chart chart;
00028
00029
00030
00031
00032 @Override
00033 public void createPartControl(Composite parent) {
00034 parent.setLayout(new FillLayout());
00035
00036
00037 chart = new InteractiveChart(parent, SWT.NONE);
00038
00039
00040 chart.getTitle().setText("Sample Interactive Chart");
00041
00042
00043 chart.getAxisSet().getXAxis(0).enableCategory(true);
00044 chart.getAxisSet().getXAxis(0).setCategorySeries(categorySeries);
00045
00046
00047 ILineSeries lineSeries1 = (ILineSeries) chart.getSeriesSet()
00048 .createSeries(SeriesType.LINE, "line series 1");
00049 lineSeries1.setYSeries(yLineSeries1);
00050
00051
00052 ILineSeries lineSeries2 = (ILineSeries) chart.getSeriesSet()
00053 .createSeries(SeriesType.LINE, "line series 2");
00054 lineSeries2.setYSeries(yLineSeries2);
00055 lineSeries2.setLineColor(Display.getDefault().getSystemColor(SWT.COLOR_RED));
00056
00057
00058 IBarSeries barSeries1 = (IBarSeries) chart.getSeriesSet().createSeries(
00059 SeriesType.BAR, "bar series 1");
00060 barSeries1.setYSeries(yBarSeries1);
00061
00062
00063 IBarSeries barSeries2 = (IBarSeries) chart.getSeriesSet().createSeries(
00064 SeriesType.BAR, "bar series 2");
00065 barSeries2.setYSeries(yBarSeries2);
00066 barSeries2.setBarColor(Display.getDefault().getSystemColor(SWT.COLOR_GREEN));
00067
00068
00069 chart.getAxisSet().adjustRange();
00070 }
00071
00072
00073
00074
00075 @Override
00076 public void setFocus() {
00077 chart.getPlotArea().setFocus();
00078 }
00079
00080
00081
00082
00083 @Override
00084 public void dispose() {
00085 super.dispose();
00086 chart.dispose();
00087 }
00088 }