简体   繁体   English

如何在 TornadoFx 中为 BarChart 条着色?

[英]How to color BarChart bar in TornadoFx?

I'm trying to change the colours/shading of the bar chart bars in TornadoFX using a custom stylesheet.我正在尝试使用自定义样式表更改 TornadoFX 中条形图栏的颜色/阴影。

I came across this post: JavaFX BarChart bar color which uses the -fx-bar-fill selector but I'm having a hard time translating this into a form that TornadoFX will accept.我遇到了这篇文章: JavaFX BarChart bar color which uses the -fx-bar-fill selector 但我很难将其转换为 TornadoFX 接受的形式。

Here's my stylesheet:这是我的样式表:

class BarChartStyles : Stylesheet(){

  companion object {
      val histogramChart by cssclass()
      val backColor = c("#4682B4")
  }

  init{
      histogramChart{
          defaultColor0{
              chartBar{
                  barFill = backColor
              }
          }     
      }
  }
} 

And this is how I'm declaring the BarChart :这就是我声明BarChart

barchart("my histogram", CategoryAxis(), NumberAxis()){

            barGap = 0.0
            categoryGap = 0.0

            hgrow = Priority.ALWAYS
            vgrow = Priority.ALWAYS

            style{
                minWidth = 640.px
                minHeight = 240.px
                maxHeight = 480.px
            }

            addClass(BarChartStyles.histogramChart)

            series("Portfolio 1") {
                data("1", 23)
                data("2", 14)
                data("3", 15)
                data("4", 23)
                data("5", 14)
                data("6", 15)
                data("7", 23)
                data("8", 14)
                data("9", 15)
                data("10", 23)
                data("11", 14)
                data("12", 15)
                data("13", 23)
                data("14", 14)
                data("15", 15)
                data("16", 23)
                data("17", 14)
                data("18", 15)
            }

        }

Without TornadoFX you could use the .chart-bar selector in your stylesheet without defining any custom CSS classes:如果没有 TornadoFX,您可以在样式表中使用.chart-bar选择器,而无需定义任何自定义 CSS 类:

.chart-bar {
    -fx-bar-fill: #4682B4; 
}

The TornadoFX equivalent is: TornadoFX 等效项是:

class BarChartStyles : Stylesheet() {

    companion object {
        val backColor = c("#4682B4")
        val chartBar by cssclass()
    }

    init {
        chartBar {
            barFill = backColor
        }
    }
}

After applying the style your example looks like this:应用样式后,您的示例如下所示:

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM