JavaFx 散点图自定义图例
JavaFx Scatter Chart custom Legend
我的 JavaFx 散点图图例有问题。我使用以下代码动态更改系列的样式:
Set<Node> nodes = scatterChart.lookupAll(".series0");
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
}
我在 setStyle 方法中对所有系列和不同的字符串执行此操作,它在图表中工作正常。我的问题是这些更改不会影响一直显示每个系列的默认颜色、形状等的图例,而不是我制作的那些。任何人都可以提出任何建议吗?
我发布了问题,但找到了解决方案,我想我会把它写在这里,以防其他人遇到与我相同的问题。我将答案的代码更改如下:
ArrayList<Node> seriesNodes = new ArrayList<Node>();
Set<Node> nodes = scatterChart.lookupAll(.series0);
int flag=0;
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
if(flag==0){
seriesNodes.add(n);
}
flag++;
}
我为每个系列都这样做,所以我将每个系列的节点保存在 ArrayList 中,然后在将所有系列添加到散点图之后,我执行以下代码:
Set<Node> items = scatterChart.lookupAll("Label.chart-legend-item");
int it=0;
for (Node item : items) {
Label label = (Label) item;
label.setGraphic(seriesNodes.get(it));
it++;
}
我希望这能像对我一样帮助别人!
我的 JavaFx 散点图图例有问题。我使用以下代码动态更改系列的样式:
Set<Node> nodes = scatterChart.lookupAll(".series0");
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
}
我在 setStyle 方法中对所有系列和不同的字符串执行此操作,它在图表中工作正常。我的问题是这些更改不会影响一直显示每个系列的默认颜色、形状等的图例,而不是我制作的那些。任何人都可以提出任何建议吗?
我发布了问题,但找到了解决方案,我想我会把它写在这里,以防其他人遇到与我相同的问题。我将答案的代码更改如下:
ArrayList<Node> seriesNodes = new ArrayList<Node>();
Set<Node> nodes = scatterChart.lookupAll(.series0);
int flag=0;
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
if(flag==0){
seriesNodes.add(n);
}
flag++;
}
我为每个系列都这样做,所以我将每个系列的节点保存在 ArrayList 中,然后在将所有系列添加到散点图之后,我执行以下代码:
Set<Node> items = scatterChart.lookupAll("Label.chart-legend-item");
int it=0;
for (Node item : items) {
Label label = (Label) item;
label.setGraphic(seriesNodes.get(it));
it++;
}
我希望这能像对我一样帮助别人!