更改8个系列以上的系列线和线号

时间:2021-02-03 10:41:08

标签: javafx-2

我有 10 个系列的数据要绘制在 LineChart 上。我希望每个系列的线条或图例都有不同的颜色。不幸的是,JavaFX 默认只支持 8 系列。我曾尝试通过如下所示的 css 对其进行更改,但没有奏效。

.default-color0.chart-series-line { -fx-stroke: #1F77B4; }
.default-color1.chart-series-line { -fx-stroke: #FF7F0E; }
.default-color2.chart-series-line { -fx-stroke: #2CA02C; }
.default-color3.chart-series-line { -fx-stroke: #D62728; }
.default-color4.chart-series-line { -fx-stroke: #9467BD; }
.default-color5.chart-series-line { -fx-stroke: #8C564B; }
.default-color6.chart-series-line { -fx-stroke: #E377C2; }
.default-color7.chart-series-line { -fx-stroke: #7F7F7F; }
.default-color8.chart-series-line { -fx-stroke: #BCBD22; }
.default-color9.chart-series-line { -fx-stroke: #17BECF; }

.default-color0.chart-line-symbol { -fx-background-color: #1F77B4; -fx-background-radius: 0;}
.default-color1.chart-line-symbol { -fx-background-color: #FF7F0E; -fx-background-radius: 0;}
.default-color2.chart-line-symbol { -fx-background-color: #2CA02C; -fx-background-radius: 0;}
.default-color3.chart-line-symbol { -fx-background-color: #D62728; -fx-background-radius: 0;}
.default-color4.chart-line-symbol { -fx-background-color: #9467BD; -fx-background-radius: 0;}
.default-color5.chart-line-symbol { -fx-background-color: #8C564B; -fx-background-radius: 0;}
.default-color6.chart-line-symbol { -fx-background-color: #E377C2; -fx-background-radius: 0;}
.default-color7.chart-line-symbol { -fx-background-color: #7F7F7F; -fx-background-radius: 0;}
.default-color8.chart-line-symbol { -fx-background-color: #BCBD22; -fx-background-radius: 0;}
.default-color9.chart-line-symbol { -fx-background-color: #17BECF; -fx-background-radius: 0;}

然后我尝试用java源代码编写它。

            int i = 0;
            for (XYChart.Series<Number, Number> d : data) {
                d.getNode().setStyle("-fx-stroke: #" + colors.get(i) + ";");
                i++;
            }

它适用于该系列。但我不知道如何对线符号(图例)做同样的事情。有什么帮助吗?

0 个答案:

没有答案