制作不带标签的折线图

时间:2019-09-02 07:24:15

标签: java user-interface javafx graph linegraph

我正在做一个股票游戏,其中应用程序为不同的股票擦洗了互联网。我在网上看到了一个股票游戏的主意,[我没有这个图片]:

https://dribbble.com/shots/4161894-Invest-App-UI-Dark-Version

右侧的图像上有细小的线形图,以显示基于该股票的先前价格的股票价值变化。

,我想知道是否有一种方法可以简单地制作折线图,以便使用Java在更早的时间将值应用于先前的库存量。我不希望它是带有标签和X&Y标记的完整图形,我只想显示线条本身

我尝试使用JavaFX折线图,但是它具有背景,标签和其他我不希望出现的数字。

1 个答案:

答案 0 :(得分:3)

基本上,图表由许多部分组成(f.i.轴,背景网格,图例,图形)。您的任务是配置所有对象的状态,以便仅显示所需的对象,在您的情况下(或多或少)仅显示图形。

令人惊讶的是,几乎所有内容都可以配置为可见或不可见-除了轴:必须手动将其从其父级中移除。

用于取消装饰线图的代码段:

protected void undecorate(LineChart chart) {
    chart.setLegendVisible(false);
    chart.setCreateSymbols(false);
    chart.setHorizontalGridLinesVisible(false);
    chart.setHorizontalZeroLineVisible(false);
    chart.setVerticalGridLinesVisible(false);
    chart.setVerticalZeroLineVisible(false);
    undecorateAxis(chart.getXAxis());
    undecorateAxis(chart.getYAxis());
}

protected void undecorateAxis(Axis axis) {
    // trying to hide: not working
    // xAxis.setVisible(false);
    // configure all ticks/label to not visible doesn't work
    // if (axis instanceof ValueAxis)
    //    ((ValueAxis<?>) axis).setMinorTickVisible(false);
    // axis.setTickLabelsVisible(false);
    //axis.setTickMarkVisible(false);
    // remove from parent does work
    Pane parent = (Pane) axis.getParent();
    parent.getChildren().removeAll(axis);
}