現在のバージョンは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);
・BarChart 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);
・BarCharのカテゴリ // 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);
・ErrorBar // 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);