Charts 如何在JavaFX2.0折线图中动态更改线条样式?
在JavaFX项目中,我们需要一个折线图。我可以使用CSS轻松设置整个图表和系列的样式,但图表的内容可以动态更改:Charts 如何在JavaFX2.0折线图中动态更改线条样式?,charts,javafx,Charts,Javafx,在JavaFX项目中,我们需要一个折线图。我可以使用CSS轻松设置整个图表和系列的样式,但图表的内容可以动态更改: 序列号及其显示顺序取决于用户操作和his数据。每个系列代表一个具体的数据类别,每个类别都有自己的样式,例如,类别a显示为虚线,类别B显示为虚线。对于每个类别,图表可以包含0个或多个系列 序列的样式也取决于数据值,例如,平均值上的序列线为红色,下面为蓝色 如何在JavaFX中实现这一点 序列号及其显示顺序取决于用户操作和his数据 通过更改传递给图表调用的系列的数量,可以修改显示的系
-fx stroke dash array
css属性,可以通过css设置虚线和虚线的样式。或者,您可以通过修改从返回的ObservableList动态更改分配给节点的css样式类,而不是查找
序列的样式也取决于数据值,例如,平均值上的序列线为红色,下面为蓝色
这类似于虚线和虚线的显示方式,但线的颜色由-fx stroke
css属性修改,修改取决于为序列计算的平均值
为了演示以上几点,我在这里为这个问题创建了一个示例解决方案:我这样做,认为它非常方便。注意:这显然适用于折线图,但不适用于散点图
Series<Number, Number> series = new Series<>();
...
series.nodeProperty().get().setStyle("-fx-stroke-width: 1px;");
Series系列=新系列();
...
series.nodeProperty().get().setStyle(“-fx笔划宽度:1px;”);
非常感谢!这个例子很好,也很有用。有没有办法像其他图表一样把圆变成三角形或立方体?例如在这个组件中:@Hamed_gibago问一个新问题。我真不敢相信没有办法。这是一个如此可怕的设计缺陷。如果舞台不上映,这将抛出一个NPE。小心。不仅舞台应该被展示出来,而且看起来这个系列一定已经被添加到线条图中了。顺便说一句,当然散射图不会有这个属性,因为它应该是分散的!setStyle不在方法中。您使用的是哪个版本?我发现我应该使用series,而不是仅使用series