現在のバージョンは0.6.0 最終更新が2009-07-31なので、もう数年あたり更新されていない。
これって更新されるのかな?
下記URLからダウンロードし、展開しdropinsに配置しeclipse再起動
http://sourceforge.net/projects/swt-chart/files/SWTChart/0.6.0/org.swtchart_0.6.0.zip/download
とりあえずサンプルを動作させてみる。
dropins\org.swtchart_0.6.0\EXAMPLES\org.swtchart.examplesをインポートして色々ソースコードを簡単に
読んでみました。ってか非常にコード少ないので簡単に読めます。
簡単に機能と実装方法をまとめました。
・AreaChart
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Area Chart Example");
- // ILineSeriesを利用
- ILineSeries lineSeries1 = (ILineSeries) chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "line series 1");
- lineSeries1.setYSeries(ySeries1);
- lineSeries1.setLineColor(Display.getDefault().getSystemColor(
- SWT.COLOR_RED));
- //enableAreaをtrueでAreaChart表示
- lineSeries1.enableArea(true);
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Bar Chart Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Data Points");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude");
- // BarChart(IBarSeries)を表示
- IBarSeries barSeries = (IBarSeries) chart.getSeriesSet().createSeries(
- SeriesType.BAR, "bar series");
- barSeries.setYSeries(ySeries);
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Category Axis Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Month");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude");
- // set category
- chart.getAxisSet().getXAxis(0).enableCategory(true);
- chart.getAxisSet().getXAxis(0).setCategorySeries(
- new String[] { "Jan", "Feb", "Mar", "Apr", "May" });
- // IBarSeriesを2つ作成すればカテゴリになる。
- IBarSeries barSeries1 = (IBarSeries) chart.getSeriesSet().createSeries(
- SeriesType.BAR, "bar series 1");
- barSeries1.setYSeries(ySeries1);
- barSeries1.setBarColor(Display.getDefault().getSystemColor(
- SWT.COLOR_GREEN));
- IBarSeries barSeries2 = (IBarSeries) chart.getSeriesSet().createSeries(
- SeriesType.BAR, "bar series 2");
- barSeries2.setYSeries(ySeries2);
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // create series
- ISeries series = chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "line series");
- series.setYSeries(ySeries);
- // ISeriesに対してErrorBarをVisibleにすればよい。
- IErrorBar errorBar = series.getYErrorBar();
- errorBar.setVisible(true);
- errorBar.setError(0.1);
・プロットの点を表示しないようにする。
- lineSeries.setSymbolType(PlotSymbolType.NONE);
・ログスケール設定
- // set log scale
- chart.getAxisSet().getYAxis(0).enableLogScale(true);
・複数軸
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Multiple Axes Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Data Points");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude 1");
- // create second Y axis
- int axisId = chart.getAxisSet().createYAxis();
- // set the properties of second Y axis
- IAxis yAxis2 = chart.getAxisSet().getYAxis(axisId);
- yAxis2.setPosition(Position.Secondary);
- final Color RED = Display.getDefault().getSystemColor(SWT.COLOR_RED);
- yAxis2.getTick().setForeground(RED);
- yAxis2.getTitle().setForeground(RED);
- yAxis2.getTitle().setText("Amplitude 2");
- // create line series
- ILineSeries lineSeries1 = (ILineSeries) chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "line series 1");
- lineSeries1.setYSeries(ySeries1);
- ILineSeries lineSeries2 = (ILineSeries) chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "line series 2");
- lineSeries2.setYSeries(ySeries2);
- lineSeries2.setLineColor(RED);
- // assign series to second Y axis
- lineSeries2.setYAxisId(axisId);
・軸の方向変換
- // set the chart orientation
- chart.setOrientation(SWT.VERTICAL);
・散布図
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Scatter Chart Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Score A");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Score B");
- // create scatter series
- ILineSeries scatterSeries = (ILineSeries) chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "scatter series");
- scatterSeries.setLineStyle(LineStyle.NONE);
- scatterSeries.setXSeries(xSeries);
- scatterSeries.setYSeries(ySeries);
- // set label visible
- lineSeries.getLabel().setVisible(true);
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Stack Series Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Month");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude");
- // set category
- chart.getAxisSet().getXAxis(0).enableCategory(true);
- chart.getAxisSet().getXAxis(0).setCategorySeries(
- new String[] { "Jan", "Feb", "Mar", "Apr", "May" });
- // create bar series
- IBarSeries barSeries1 = (IBarSeries) chart.getSeriesSet().createSeries(
- SeriesType.BAR, "bar series 1");
- barSeries1.setYSeries(ySeries1);
- barSeries1.setBarColor(Display.getDefault().getSystemColor(
- SWT.COLOR_GREEN));
- IBarSeries barSeries2 = (IBarSeries) chart.getSeriesSet().createSeries(
- SeriesType.BAR, "bar series 2");
- barSeries2.setYSeries(ySeries2);
- // enable stack series
- barSeries1.enableStack(true);
- barSeries2.enableStack(true);
- // create a chart
- Chart chart = new Chart(shell, SWT.NONE);
- // set titles
- chart.getTitle().setText("Step Chart Example");
- chart.getAxisSet().getXAxis(0).getTitle().setText("Data Points");
- chart.getAxisSet().getYAxis(0).getTitle().setText("Amplitude");
- // create line series
- ILineSeries lineSeries = (ILineSeries) chart.getSeriesSet()
- .createSeries(SeriesType.LINE, "line series");
- lineSeries.setYSeries(ySeries);
- lineSeries.setSymbolType(PlotSymbolType.NONE);
- lineSeries.enableStep(true);