【问题标题】:Remove the pointers from the chart?从图表中删除指针?
【发布时间】:2013-12-29 04:23:55
【问题描述】:

这是一个简单的 UI,用于学习 JavaFX 中的图表 API。 AreaChart 看起来不错,但是我想知道是否可以 隐藏 表示绘制值的小点?

原因是随着点的靠近,当X轴的值增加时,它们变得更小,更难理解。有时它们重叠。在这种情况下,没有点的图表会更清晰。

【问题讨论】:

    标签: java javafx javafx-2


    【解决方案1】:

    有一种方法可以隐藏点(或 x/y 点的任何其他图形表示)。

        final LineChart<Number,Number> lineChart = 
                new LineChart<Number,Number>(xAxis,yAxis);
        //here be code...
    
        lineChart.setCreateSymbols(false); //hide dots
    

    【讨论】:

    • 并且是否可以在不使用侦听器和 setUpperBound()setLowerBound() 的情况下使其可滚动? :)
    • 我认为您应该为该问题创建一个新问题。可能有很多方法可以实现滚动效果,但我们需要更多关于在图表上滚动后会发生什么的信息。
    • 也可以在带有createSymbols="false"属性的fxml中完成
    • 如果您使用的是 SceneBuilder,您可以在图表的“属性”选项卡中取消选中“创建符号”属性
    【解决方案2】:

    在 XYChart.Data 对象上调用 setNode(...) 并传入一些不可见的东西。

    例如:

    XYChart.Data data = new XYChart.Data(x,y);
    Rectangle rect = new Rectangle(0, 0);
    rect.setVisible(false);
    data.setNode(rect);
    

    【讨论】:

    • 另外,是否可以使图表可滚动?左右还是上下?
    • 不要使用这个方法,改用这个:lineChart.setCreateSymbols(false); //隐藏点
    • 为什么这是选择的答案,而下面的答案是更好且有效的解决方案。这根本不起作用。
    • 也许是因为这是 James_D 的作品,他在 SO 上的 JFX Q 非常棒。但是,我同意其他解决方案在这里更好。 (对我来说,这个也确实有效。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多