gpt4 book ai didi

java - 饼图上的恒定颜色

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:20 25 4
gpt4 key购买 nike

我有一个 JavaFX 饼图,我想要与特定区域关联的颜色。但是,似乎我只能将颜色与 Data 添加到图表的顺序相关联。例如,如果我想绘制 parking 场中汽车的颜色,我可以这样做:

.default-color0.chart-pie { -fx-pie-color: #FF0000; }
.default-color1.chart-pie { -fx-pie-color: #00FF00; }
.default-color2.chart-pie { -fx-pie-color: #0000FF; }
.default-color3.chart-pie { -fx-pie-color: #FFFF00; }
.default-color4.chart-pie { -fx-pie-color: #00FFFF; }

只要我先添加“红色汽车”数据,然后添加“绿色汽车”数据等,一切都很好。但是如果没有红色汽车,并且我不添加该数据,那么绿色汽车就会变成红色,因为它们是第一个数据点。我可以添加一个 Data("Red", 0),但随后它在我的饼图中显示为面积为零的切片,但它仍然有一个标签,这可能会令人困惑。有什么办法可以避免这种情况吗?要么将具有零数据的 Data 对象标记为不可见,要么为类别分配常量颜色?

最佳答案

好吧,这就是我最终所做的(并且有效):

Platform.runLater(new Runnable() {
@Override
public void run() {
for (int i = 0; i < usedColors.size(); i++) {
for (Node node : chart.lookupAll(String.format(".default-color%d.chart-pie", i))) {
node.setStyle(String.format("-fx-pie-color: #%06x;", usedColors.get(i)));
}
}
}
});

其中 usedColors 是一个按顺序包含正确颜色的列表。这也会影响图例。使用runLater是必要的。

感谢评论中每个人提供的帮助。

关于java - 饼图上的恒定颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25186238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com