SWTChart是一款基于SWT的Java图表类库,也正因为是基于SWT的缘故,SWTChart应用起来非常方便,而且也相当轻巧。
SWTChart支持多种图表类型,包括:线图 、散点图 、堆栈图 、对数标度 、分类轴 、多轴 、柱形图 、面积图 、步骤图 、轴取向 、系列标签等。

高可扩展性
所有SWTChart小部件是基于SWT的,这样就可以轻松实现窗口小部件,也可以很容易地扩展功能。作为SWTChart一个例子,SWTChart Extension与SWTChart捆绑在一起,这样你就可以得到一些想法如何扩展它。 SWTChart Extension有鼠标缩放,或者用方向键翻页的功能。当然,除了一些公共的API外,使用者们也可以直接定制SWTChart,因为SWTChart是完全开源的。
高性能
SWTChart提供处理一系列大数据的能力。即使出百万个数据点,重新绘制或调整图表面板并不需要很长一段时间。内部算法不是简单地以一定时间间隔采样数据,而是根据当前屏幕分辨率来计算需要显示多少个点。因此,即使有在大量的数据点,也不会再屏幕上不显示。
轻量级
SWTChart具有轻量级的基本特点。 SWTChart jar文件的文件大小约为180KB,包括源代码。这很容易让你发布你的应用程序。
使用方法
SWTChart绘制线形图
// create a chart
Chart chart = new Chart(composite, SWT.NONE);
// set titles
chart.getTitle().setText("Line 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);
// adjust the axis range
chart.getAxisSet().adjustRange();
SWTChart绘制柱形图:
// create a chart
Chart chart = new Chart(composite, 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");
// create bar series
IBarSeries barSeries = (IBarSeries) chart.getSeriesSet()
    .createSeries(SeriesType.BAR, "bar series");
barSeries.setYSeries(ySeries);
// adjust the axis range
chart.getAxisSet().adjustRange();
SWTChart绘制堆栈图:
// create a chart
Chart chart = new Chart(composite, 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);
// adjust the axis range
chart.getAxisSet().adjustRange();
SWTChart还可以绘制更多的图表类型,具体可以阅读SWTChart的官方文档,可以在文末的链接中获取。

