現在のバージョンは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);
0 件のコメント:
コメントを投稿