use of org.eclipse.swtchart.extensions.core.ISeriesData in project swtchart by eclipse.
the class SeriesConverter method getSeriesXY.
public static ISeriesData getSeriesXY(String file) {
int size = getNumberOfLines(file);
double[] xSeries = new double[size];
double[] ySeries = new double[size];
//
BufferedReader bufferedReader = null;
try {
String line;
int i = 0;
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
while ((line = bufferedReader.readLine()) != null) {
if (!line.startsWith("#")) {
String[] values = line.split("\t");
xSeries[i] = Double.parseDouble(values[0].trim());
ySeries[i] = Double.parseDouble(values[1].trim());
i++;
}
}
} catch (Exception e) {
//
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
//
}
}
}
//
ISeriesData seriesData = new SeriesData(xSeries, ySeries, file);
return seriesData;
}
use of org.eclipse.swtchart.extensions.core.ISeriesData in project swtchart by eclipse.
the class SeriesConverter method getSeriesFromY.
public static ISeriesData getSeriesFromY(String fileName) {
int size = getNumberOfLines(fileName);
double[] ySeries = new double[size];
//
BufferedReader bufferedReader = null;
try {
String line;
int i = 0;
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
while ((line = bufferedReader.readLine()) != null) {
ySeries[i++] = Double.parseDouble(line.trim());
}
} catch (Exception e) {
//
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
//
}
}
}
//
ISeriesData seriesData = new SeriesData(ySeries, fileName);
return seriesData;
}
use of org.eclipse.swtchart.extensions.core.ISeriesData in project swtchart by eclipse.
the class ImageFactory_2_UITest method test1.
public void test1() {
try {
/*
* Create the factory.
*/
ImageFactory<MassSpectrumChart> imageFactory = new ImageFactory<MassSpectrumChart>(MassSpectrumChart.class, 800, 600);
/*
* Modify the chart.
*/
MassSpectrumChart massSpectrumChart = imageFactory.getChart();
massSpectrumChart.setBackground(massSpectrumChart.getBaseChart().getDisplay().getSystemColor(SWT.COLOR_WHITE));
List<IBarSeriesData> barSeriesDataList = new ArrayList<IBarSeriesData>();
ISeriesData seriesData = SeriesConverter.getSeriesXY(TestPathHelper.getAbsolutePath(TestPathHelper.TESTFILE_BAR_SERIES_1));
//
IBarSeriesData barSeriesData = new BarSeriesData(seriesData);
IBarSeriesSettings barSeriesSettings = barSeriesData.getBarSeriesSettings();
barSeriesSettings.setDescription("");
barSeriesDataList.add(barSeriesData);
massSpectrumChart.addSeriesData(barSeriesDataList);
/*
* Export the images.
*/
String exportFolder = TestPathHelper.getAbsolutePath(TestPathHelper.TESTFOLDER_EXPORT);
String prefix = "BarSeries1";
//
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);
}
}
use of org.eclipse.swtchart.extensions.core.ISeriesData in project swtchart by eclipse.
the class SeriesConverter method getSeriesScatter.
public static List<ISeriesData> getSeriesScatter(String fileName) {
List<ISeriesData> scatterSeriesList = new ArrayList<ISeriesData>();
//
BufferedReader bufferedReader = null;
try {
String line;
bufferedReader = new BufferedReader(new InputStreamReader(SeriesConverter.class.getResourceAsStream(fileName)));
while ((line = bufferedReader.readLine()) != null) {
String[] values = line.split("\t");
String id = values[0].trim();
double[] xSeries = new double[] { Double.parseDouble(values[1].trim()) };
double[] ySeries = new double[] { Double.parseDouble(values[2].trim()) };
ISeriesData seriesData = new SeriesData(xSeries, ySeries, id);
scatterSeriesList.add(seriesData);
}
} catch (Exception e) {
//
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
//
}
}
}
return scatterSeriesList;
}
use of org.eclipse.swtchart.extensions.core.ISeriesData in project swtchart by eclipse.
the class BarChart method addSeriesData.
/**
* BarWidthStyle.STRETCHED will be used automatically instead of BarWidthStyle.FIXED
* if the series data is too large. This leads to a better performance.
*
* @param barSeriesDataList
*/
public void addSeriesData(List<IBarSeriesData> barSeriesDataList, int compressToLength) {
/*
* Suspend the update when adding new data to improve the performance.
*/
if (barSeriesDataList != null && barSeriesDataList.size() > 0) {
BaseChart baseChart = getBaseChart();
baseChart.suspendUpdate(true);
for (IBarSeriesData barSeriesData : barSeriesDataList) {
/*
* Get the series data and apply the settings.
*/
try {
ISeriesData seriesData = barSeriesData.getSeriesData();
ISeriesData optimizedSeriesData = calculateSeries(seriesData, compressToLength);
IBarSeriesSettings barSeriesSettings = barSeriesData.getBarSeriesSettings();
// Initialize
barSeriesSettings.getSeriesSettingsHighlight();
IBarSeries barSeries = (IBarSeries) createSeries(optimizedSeriesData, barSeriesSettings);
baseChart.applyBarSeriesSettings(barSeries, barSeriesSettings);
/*
* Automatically use stretched if it is a large data set.
*/
if (isLargeDataSet(optimizedSeriesData.getXSeries(), optimizedSeriesData.getYSeries(), LENGTH_HINT_DATA_POINTS)) {
barSeries.setBarWidthStyle(BarWidthStyle.STRETCHED);
} else {
barSeries.setBarWidthStyle(barSeriesSettings.getBarWidthStyle());
}
} catch (SeriesException e) {
//
}
}
baseChart.suspendUpdate(false);
adjustRange(true);
baseChart.redraw();
}
}
Aggregations