在我们的JavaFX项目中,我们需要一个折线图.我可以使用CSS轻松地对整个图表和系列进行样式化,但我们的图表内容可以动态更改:
系列数量及其显示顺序取决于用户操作及其数据.每个系列代表一个具体的数据类别,每个类别都有自己的风格,例如.类别A显示为虚线,类别B显示为虚线.该图表可以包含每个类别的0个或更多系列,
系列的风格也取决于数据值,例如.平均系列线为红色,下方为蓝色.
如何在JavaFX中执行此操作?
- 系列数量及其显示顺序取决于用户操作及其数据.
显示的系列数和显示顺序可以通过更改传递给图表的setData()调用的系列的ObservableList来修改.当图表监听列表的更改时,随着支持列表的更改,图表会自动更新以反映更改.
每个类别都有自己的风格,例如.类别A显示为虚线,类别B显示为虚线.
这可以通过确定图表中的哪个系列在哪个类别中,通过节点lookupAll(cssStyleSelector)函数查找与该系列相关的所有节点并将新的自定义样式应用于与该类别的样式匹配的系列来完成.可以通过设置-fx-stroke-dash-array
css属性通过css设置虚线和虚线.或者,您可以通过修改从getStyleClass()返回的ObservableList来动态更改分配给节点的css样式,而不是查找.
系列的风格也取决于数据值,例如.平均系列线为红色,下方为蓝色.
这类似于虚线和虚线的显示方式,而是通过-fx-stroke
css属性修改线条的颜色,修改取决于为系列计算的平均值.
为了证明以上几点,我在这里为这个问题创建了一个示例解决方案:https://gist.github.com/2129306
归档时间: |
|
查看次数: |
17763 次 |
最近记录: |