import org.knowm.xchart.SwingWrapper;
import org.knowm.xchart.XYChart;
import org.knowm.xchart.XYChartBuilder;
import org.knowm.xchart.XYSeries.XYSeriesRenderStyle;
import org.knowm.xchart.style.Styler.LegendPosition;
import org.knowm.xchart.VectorGraphicsEncoder;
import org.knowm.xchart.VectorGraphicsEncoder.VectorGraphicsFormat;
/**
* Area Chart with 1 series
*
* Demonstrates the following:
*
*
* - Polygon Area Chart
*
- Place legend at Inside-NE position
*
- ChartBuilder
*/
public class xchart_area3 {
public static void main(String[] args) throws Exception {
XYChart chart = getChart("Area");
new SwingWrapper(chart).displayChart();
// Save it
VectorGraphicsEncoder.saveVectorGraphic(chart, "Area", VectorGraphicsFormat.PDF);
}
static public XYChart getChart(String name) {
// Create Chart
XYChart chart =
new XYChartBuilder()
.width(600)
.height(400)
.title(name)
.xAxisTitle("X")
.yAxisTitle("Y")
.build();
// Customize Chart
chart.getStyler().setLegendPosition(LegendPosition.InsideNE);
chart.getStyler().setAxisTitlesVisible(false);
chart.getStyler().setDefaultSeriesRenderStyle(XYSeriesRenderStyle.PolygonArea);
// Series
chart.addSeries(
"a",
new double[] {
0, 3, 5, 7, 9, // x coordinates ascending
9, 7, 5, 3, 0
}, // x coordinates descending
new double[] {
-1, 6, 9, 6, 5, // upper y
4, 0, 4, 5, -3
}); // lower y
return chart;
}
}