在TornadoFX

我正在尝试使用TornadoFX将数据表转换为一系列折线图。表格中的每一行应对应于图表中的命名行。首先,我遵循了TornadoFX guide,但这仅涵盖具有硬编码值的用例。

这是TornadoFX指南示例:

linechart("Unit Sales Q2 2016",CategoryAxis(),NumberAxis()) {

    multiseries("Product X","Product Y") {
        data("MAR",10245,28443)
        data("APR",23963,22845)
        data("MAY",15038,19045)
    }
}

我成功创建了该系列的标签,但仅此而已:

val multiSeriesHeader = table.columHeaders.map { it.toString() }.toTypedArray()

linechart("Unit Sales Q2 2016",NumberAxis()) {
    multiseries(*multiSeriesHeader) {
        // Here I want something like:
        // multidata( array of lines in the matrix,in the "data" format )
    }
}

我的最终目标是一种“自动生成” data("Month",values...)新行的方法,因此我可以通过将更多值附加到“行数据”列表中来向图表创建更多行。但是,我对linechart方法创建折线图的方式以及随后对multiseriesdata的调用如何转换为参数(通过这些块)感到完全迷茫。

我对TornadoFX不熟悉,对Kotlin不熟悉。因此,我不知道该语言或库中是否有技巧可以解决我的问题。非常感谢您的帮助!

saraxiaoxi 回答:在TornadoFX

假设您在每个元素中都有一个列表myList,其中每个属性分别为a b c,则可以使用data()中的循环为每个项目调用myList,即

myList.forEach { item ->
    data( item.a,item.b,item.c)
}

代替为每个数据点手动调用data()

本文链接:https://www.f2er.com/2837034.html

大家都在问