class Header : View() { val xAxis = NumberAxis("x axis", -0.2, 2.2, 0.1) val yAxis = NumberAxis("y axis", -1.0, 18.0, 1.0) lateinit var sc: ScatterChart<Number, Number> override val root = vbox() { addClass(Styles.header) hbox(10) { button("draw ScatterChart") { action { var x = (0..5).map{ (0..2).random() } var y = (0..5).map{ (0..16).random()} val data1 = FXCollections.observableArrayList<Data<Number, Number>>() x.zip(y).forEach { data1.add(Data(it.first, it.second)) } sc.data.addAll(XYChart.Series(data1)) } } button("clear ScatterChart") { action { sc.data.clear() } } } hbox { sc = scatterchart("scatter chart", xAxis, yAxis) { legendSide = Side.RIGHT } } } }