import groovy.swing.SwingBuilder
import javax.swing.JFrame
import org.jfree.chart.ChartFactory
import org.jfree.chart.ChartPanel
import org.jfree.data.xy.XYSeries
import org.jfree.data.xy.XYSeriesCollection
import org.jfree.chart.plot.PlotOrientation

def chart = {
    x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    y = [2.7, 2.8, 31.4, 38.1, 58.0, 76.2, 100.5, 130.0, 149.3, 180.0]

    def series = new XYSeries('plots')
    [x, y].transpose().each { x, y -> series.add x, y }

    def labels = ["Plot Demo", "X", "Y"]
    def data = new XYSeriesCollection(series)
    def options = [false, true, false]

    def chart = ChartFactory.createXYLineChart(*labels, data, PlotOrientation.VERTICAL, *options)
    new ChartPanel(chart)
}

new SwingBuilder().edt {
    frame(title:'Plot coordinate pairs', defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true, show:true) {
        widget(chart())
    }
}