2种方法画散点图

8d70e607aed4736aa5c61d93f0696fcec93.jpg

class Header : View() {
    var x = doubleArrayOf(0.0, 1.0, 2.0)
    var y = doubleArrayOf(0.0, 10.0, 16.0)
    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)

        button("draw ScatterChart") {
            action {
                val data1 = FXCollections.observableArrayList<Data<Number, Number>>()
                x.zip(y).forEach {
                    data1.add(Data(it.first, it.second))
                }
                sc.data.addAll(XYChart.Series(data1))
            }
        }
        hbox {
            sc = scatterchart("scatter chart", xAxis, yAxis) {
                legendSide = Side.RIGHT
            }
            add(scatter(x, y, "plot"))
        }
    }
}

fun scatter(x: DoubleArray, y: DoubleArray, title: String): ScatterChart<Number, Number> {
    val xAxis = NumberAxis()
    val yAxis = NumberAxis()
    val chart = ScatterChart(xAxis, yAxis)
    val chartData = FXCollections.observableArrayList<XYChart.Series<Number, Number>>()
    val series = XYChart.Series<Number, Number>()
    val data = FXCollections.observableArrayList<Data<Number, Number>>()
    for (i in x.indices) {
        val d = Data(x[i], y[i]) as Data<Number, Number>
        data.add(d)
    }
    series.data = data
    chartData.addAll(series)
    chart.data = chartData
    chart.title = title
    chart.legendSide = Side.RIGHT
    return chart
}

转载于:https://my.oschina.net/u/3820046/blog/3068591

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值