Search in sources :

Example 1 with IScatterSeriesSettings

use of org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings in project swtchart by eclipse.

the class ImageFactory_3_UITest method test1.

public void test1() {
    try {
        /*
			 * Create the factory.
			 */
        ImageFactory<PCAChart> imageFactory = new ImageFactory<PCAChart>(PCAChart.class, 800, 600);
        /*
			 * Modify the chart.
			 */
        PCAChart pcaChart = imageFactory.getChart();
        BaseChart baseChart = pcaChart.getBaseChart();
        pcaChart.setBackground(baseChart.getDisplay().getSystemColor(SWT.COLOR_WHITE));
        List<ISeriesData> scatterSeriesList = SeriesConverter.getSeriesScatter(TestPathHelper.getAbsolutePath(TestPathHelper.TESTFILE_SCATTER_SERIES_1));
        List<IScatterSeriesData> scatterSeriesDataList = new ArrayList<IScatterSeriesData>();
        // 
        for (ISeriesData seriesData : scatterSeriesList) {
            IScatterSeriesData scatterSeriesData = new ScatterSeriesData(seriesData);
            IScatterSeriesSettings scatterSeriesSettings = scatterSeriesData.getScatterSeriesSettings();
            /*
				 * Set the color and symbol type.
				 */
            double x = seriesData.getXSeries()[0];
            double y = seriesData.getYSeries()[0];
            scatterSeriesSettings.setSymbolSize(SYMBOL_SIZE);
            // 
            if (x > 0 && y > 0) {
                scatterSeriesSettings.setSymbolColor(baseChart.getDisplay().getSystemColor(SWT.COLOR_RED));
                scatterSeriesSettings.setSymbolType(PlotSymbolType.SQUARE);
            } else if (x > 0 && y < 0) {
                scatterSeriesSettings.setSymbolColor(baseChart.getDisplay().getSystemColor(SWT.COLOR_BLUE));
                scatterSeriesSettings.setSymbolType(PlotSymbolType.TRIANGLE);
            } else if (x < 0 && y > 0) {
                scatterSeriesSettings.setSymbolColor(baseChart.getDisplay().getSystemColor(SWT.COLOR_MAGENTA));
                scatterSeriesSettings.setSymbolType(PlotSymbolType.DIAMOND);
            } else if (x < 0 && y < 0) {
                scatterSeriesSettings.setSymbolColor(baseChart.getDisplay().getSystemColor(SWT.COLOR_CYAN));
                scatterSeriesSettings.setSymbolType(PlotSymbolType.INVERTED_TRIANGLE);
            } else {
                scatterSeriesSettings.setSymbolColor(baseChart.getDisplay().getSystemColor(SWT.COLOR_GRAY));
                scatterSeriesSettings.setSymbolType(PlotSymbolType.CIRCLE);
            }
            // 
            scatterSeriesDataList.add(scatterSeriesData);
        }
        pcaChart.addSeriesData(scatterSeriesDataList);
        /*
			 * Export the images.
			 */
        String exportFolder = TestPathHelper.getAbsolutePath(TestPathHelper.TESTFOLDER_EXPORT);
        String prefix = "ScatterSeries1";
        // 
        String png = exportFolder + File.separator + prefix + ".png";
        imageFactory.saveImage(png, SWT.IMAGE_PNG);
        File filePng = new File(png);
        assertTrue(filePng.exists());
        filePng.delete();
        // 
        String jpg = exportFolder + File.separator + prefix + ".jpg";
        imageFactory.saveImage(jpg, SWT.IMAGE_JPEG);
        File fileJpg = new File(jpg);
        assertTrue(fileJpg.exists());
        fileJpg.delete();
        // 
        String bmp = exportFolder + File.separator + prefix + ".bmp";
        imageFactory.saveImage(bmp, SWT.IMAGE_BMP);
        File fileBmp = new File(bmp);
        assertTrue(fileBmp.exists());
        fileBmp.delete();
        // 
        imageFactory.closeShell();
    // 
    } catch (InstantiationException e) {
        System.out.println(e);
    } catch (IllegalAccessException e) {
        System.out.println(e);
    }
}
Also used : IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) ScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.ScatterSeriesData) ISeriesData(org.eclipse.swtchart.extensions.core.ISeriesData) IScatterSeriesSettings(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings) ArrayList(java.util.ArrayList) ImageFactory(org.eclipse.swtchart.extensions.images.ImageFactory) BaseChart(org.eclipse.swtchart.extensions.core.BaseChart) PCAChart(org.eclipse.swtchart.extensions.customcharts.PCAChart) File(java.io.File)

Example 2 with IScatterSeriesSettings

use of org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings in project swtchart by eclipse.

the class BaseChart method applySeriesSettings.

private void applySeriesSettings(ISeries dataSeries, ISeriesSettings seriesSettings) {
    if (dataSeries instanceof ILineSeries) {
        ILineSeries lineSeries = (ILineSeries) dataSeries;
        if (seriesSettings instanceof ILineSeriesSettings) {
            /*
				 * Line Series
				 */
            ILineSeriesSettings lineSeriesSettings = (ILineSeriesSettings) seriesSettings;
            applyLineSeriesSettings(lineSeries, lineSeriesSettings);
        } else if (seriesSettings instanceof IScatterSeriesSettings) {
            /*
				 * Scatter Series
				 */
            IScatterSeriesSettings scatterSeriesSettings = (IScatterSeriesSettings) seriesSettings;
            applyScatterSeriesSettings(lineSeries, scatterSeriesSettings);
        }
    } else if (dataSeries instanceof IBarSeries) {
        /*
			 * Bar Series
			 */
        IBarSeries barSeries = (IBarSeries) dataSeries;
        IBarSeriesSettings barSeriesSettings = (IBarSeriesSettings) seriesSettings;
        applyBarSeriesSettings(barSeries, barSeriesSettings);
    }
}
Also used : ILineSeriesSettings(org.eclipse.swtchart.extensions.linecharts.ILineSeriesSettings) IBarSeriesSettings(org.eclipse.swtchart.extensions.barcharts.IBarSeriesSettings) IScatterSeriesSettings(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings) IBarSeries(org.eclipse.swtchart.IBarSeries) ILineSeries(org.eclipse.swtchart.ILineSeries)

Example 3 with IScatterSeriesSettings

use of org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings in project swtchart by eclipse.

the class ScatterSeries_1_Part method initialize.

private void initialize() {
    /*
		 * Chart Settings
		 */
    IChartSettings chartSettings = getChartSettings();
    chartSettings.setCreateMenu(true);
    applySettings(chartSettings);
    /*
		 * Data
		 */
    List<ISeriesData> scatterSeriesList = SeriesConverter.getSeriesScatter(SeriesConverter.SCATTER_SERIES_1);
    List<IScatterSeriesData> scatterSeriesDataList = new ArrayList<IScatterSeriesData>();
    // 
    for (ISeriesData seriesData : scatterSeriesList) {
        IScatterSeriesData scatterSeriesData = new ScatterSeriesData(seriesData);
        IScatterSeriesSettings scatterSeriesSettings = scatterSeriesData.getScatterSeriesSettings();
        /*
			 * Set the color and symbol type.
			 */
        double x = seriesData.getXSeries()[0];
        double y = seriesData.getYSeries()[0];
        applySettings(scatterSeriesSettings, x, y, SYMBOL_SIZE);
        scatterSeriesDataList.add(scatterSeriesData);
    }
    /*
		 * Set series.
		 */
    addSeriesData(scatterSeriesDataList);
}
Also used : IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) ScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.ScatterSeriesData) ISeriesData(org.eclipse.swtchart.extensions.core.ISeriesData) IScatterSeriesSettings(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings) IChartSettings(org.eclipse.swtchart.extensions.core.IChartSettings) ArrayList(java.util.ArrayList)

Example 4 with IScatterSeriesSettings

use of org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings in project swtchart by eclipse.

the class ScatterSeries_1_Part method applySettings.

private void applySettings(IScatterSeriesSettings scatterSeriesSettings, double x, double y, int symbolSize) {
    scatterSeriesSettings.setSymbolSize(SYMBOL_SIZE);
    // 
    if (x > 0 && y > 0) {
        scatterSeriesSettings.setSymbolColor(COLOR_RED);
        scatterSeriesSettings.setSymbolType(PlotSymbolType.SQUARE);
    } else if (x > 0 && y < 0) {
        scatterSeriesSettings.setSymbolColor(COLOR_BLUE);
        scatterSeriesSettings.setSymbolType(PlotSymbolType.TRIANGLE);
    } else if (x < 0 && y > 0) {
        scatterSeriesSettings.setSymbolColor(COLOR_MAGENTA);
        scatterSeriesSettings.setSymbolType(PlotSymbolType.DIAMOND);
    } else if (x < 0 && y < 0) {
        scatterSeriesSettings.setSymbolColor(COLOR_CYAN);
        scatterSeriesSettings.setSymbolType(PlotSymbolType.INVERTED_TRIANGLE);
    }
    // 
    IScatterSeriesSettings scatterSeriesSettingsHighlight = (IScatterSeriesSettings) scatterSeriesSettings.getSeriesSettingsHighlight();
    scatterSeriesSettingsHighlight.setSymbolColor(COLOR_GRAY);
    scatterSeriesSettingsHighlight.setSymbolType(PlotSymbolType.CIRCLE);
    scatterSeriesSettingsHighlight.setSymbolSize(symbolSize);
}
Also used : IScatterSeriesSettings(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings)

Example 5 with IScatterSeriesSettings

use of org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings in project swtchart by eclipse.

the class ScatterSeries_3_Part method initialize.

private void initialize() throws Exception {
    /*
		 * Chart Settings
		 */
    IChartSettings chartSettings = getChartSettings();
    RangeRestriction rangeRestriction = chartSettings.getRangeRestriction();
    rangeRestriction.setExtendTypeX(RangeRestriction.ExtendType.RELATIVE);
    rangeRestriction.setExtendMinX(0.25d);
    rangeRestriction.setExtendMaxX(0.1d);
    rangeRestriction.setExtendTypeY(RangeRestriction.ExtendType.RELATIVE);
    rangeRestriction.setExtendMinY(0.25d);
    rangeRestriction.setExtendMaxY(0.1d);
    rangeRestriction.setRestrictZoom(false);
    chartSettings.setCreateMenu(true);
    // 
    IPrimaryAxisSettings primaryAxisSettingsX = chartSettings.getPrimaryAxisSettingsX();
    primaryAxisSettingsX.setTitle("1st Dimension");
    primaryAxisSettingsX.setDecimalFormat(new DecimalFormat(("0"), new DecimalFormatSymbols(Locale.ENGLISH)));
    primaryAxisSettingsX.setColor(getDisplay().getSystemColor(SWT.COLOR_BLACK));
    // 
    IPrimaryAxisSettings primaryAxisSettingsY = chartSettings.getPrimaryAxisSettingsY();
    primaryAxisSettingsY.setTitle("2nd Dimension");
    primaryAxisSettingsY.setDecimalFormat(new DecimalFormat(("0.000"), new DecimalFormatSymbols(Locale.ENGLISH)));
    primaryAxisSettingsY.setColor(getDisplay().getSystemColor(SWT.COLOR_BLACK));
    // 
    applySettings(chartSettings);
    /*
		 * Create series.
		 */
    Map<Integer, Color> colors = new HashMap<Integer, Color>();
    colors.put(1, getDisplay().getSystemColor(SWT.COLOR_RED));
    colors.put(2, getDisplay().getSystemColor(SWT.COLOR_GRAY));
    colors.put(3, getDisplay().getSystemColor(SWT.COLOR_GREEN));
    colors.put(4, getDisplay().getSystemColor(SWT.COLOR_YELLOW));
    colors.put(5, getDisplay().getSystemColor(SWT.COLOR_CYAN));
    colors.put(6, getDisplay().getSystemColor(SWT.COLOR_BLUE));
    colors.put(7, getDisplay().getSystemColor(SWT.COLOR_BLACK));
    colors.put(8, getDisplay().getSystemColor(SWT.COLOR_DARK_MAGENTA));
    colors.put(9, getDisplay().getSystemColor(SWT.COLOR_DARK_CYAN));
    colors.put(10, getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN));
    colors.put(11, getDisplay().getSystemColor(SWT.COLOR_DARK_RED));
    // 
    List<IScatterSeriesData> scatterSeriesDataList = new ArrayList<IScatterSeriesData>();
    for (int i = 1; i <= 5; i++) {
        for (int j = 1; j <= 20; j++) {
            String id = "Series_" + i + "-" + j;
            int y = getRandomValue(10.0d);
            double[] xSeries = new double[] { i };
            double[] ySeries = new double[] { y };
            ISeriesData seriesData = new SeriesData(xSeries, ySeries, id);
            IScatterSeriesData scatterSeriesData = new ScatterSeriesData(seriesData);
            IScatterSeriesSettings scatterSeriesSettings = scatterSeriesData.getScatterSeriesSettings();
            scatterSeriesSettings.setDescription(id);
            scatterSeriesSettings.setSymbolSize(getRandomValue(30.0d));
            scatterSeriesSettings.setSymbolColor(colors.get(y));
            scatterSeriesSettings.setSymbolType(PlotSymbolType.CIRCLE);
            scatterSeriesDataList.add(scatterSeriesData);
        }
    }
    addSeriesData(scatterSeriesDataList);
}
Also used : IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) ScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.ScatterSeriesData) ISeriesData(org.eclipse.swtchart.extensions.core.ISeriesData) DecimalFormatSymbols(java.text.DecimalFormatSymbols) IScatterSeriesSettings(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings) HashMap(java.util.HashMap) DecimalFormat(java.text.DecimalFormat) Color(org.eclipse.swt.graphics.Color) ArrayList(java.util.ArrayList) ISeriesData(org.eclipse.swtchart.extensions.core.ISeriesData) SeriesData(org.eclipse.swtchart.extensions.core.SeriesData) IScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData) ScatterSeriesData(org.eclipse.swtchart.extensions.scattercharts.ScatterSeriesData) IChartSettings(org.eclipse.swtchart.extensions.core.IChartSettings) RangeRestriction(org.eclipse.swtchart.extensions.core.RangeRestriction) IPrimaryAxisSettings(org.eclipse.swtchart.extensions.core.IPrimaryAxisSettings)

Aggregations

IScatterSeriesSettings (org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesSettings)9 ArrayList (java.util.ArrayList)6 ISeriesData (org.eclipse.swtchart.extensions.core.ISeriesData)6 IScatterSeriesData (org.eclipse.swtchart.extensions.scattercharts.IScatterSeriesData)6 ScatterSeriesData (org.eclipse.swtchart.extensions.scattercharts.ScatterSeriesData)6 IChartSettings (org.eclipse.swtchart.extensions.core.IChartSettings)4 Color (org.eclipse.swt.graphics.Color)3 DecimalFormat (java.text.DecimalFormat)2 DecimalFormatSymbols (java.text.DecimalFormatSymbols)2 HashMap (java.util.HashMap)2 IPrimaryAxisSettings (org.eclipse.swtchart.extensions.core.IPrimaryAxisSettings)2 File (java.io.File)1 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)1 IBarSeries (org.eclipse.swtchart.IBarSeries)1 ILineSeries (org.eclipse.swtchart.ILineSeries)1 PlotSymbolType (org.eclipse.swtchart.ILineSeries.PlotSymbolType)1 IBarSeriesSettings (org.eclipse.swtchart.extensions.barcharts.IBarSeriesSettings)1 BaseChart (org.eclipse.swtchart.extensions.core.BaseChart)1 RangeRestriction (org.eclipse.swtchart.extensions.core.RangeRestriction)1 SeriesData (org.eclipse.swtchart.extensions.core.SeriesData)1