【问题标题】:How to change colors of a line graph JavaFX [duplicate]如何更改折线图JavaFX的颜色[重复]
【发布时间】:2019-11-06 19:31:37
【问题描述】:

我正在做一个股市游戏,我正在使用 JavaFX 折线图来显示趋势线和估计的价格走势,目前我只得到一条橙色线,它与主题不符UI 的其余部分。

作为参考,我想坚持的两个 HEX 值是

1 - 46424D

2 - 2F2C38

我在网上搜索了一些想法,所有的东西大多都指向使用一些我目前不熟悉的 CSS 脚本。

谢谢!

  • 凯伦·米勒

【问题讨论】:

    标签: java javafx graph charts line


    【解决方案1】:
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.chart.LineChart;
    import javafx.scene.chart.NumberAxis;
    import javafx.scene.chart.XYChart;
    import javafx.stage.Stage;
    
    public class LineChartSample extends Application
    {
    
        @Override
        public void start(Stage stage)
        {
            stage.setTitle("Line Chart Sample");
            //defining the axes
            final NumberAxis xAxis = new NumberAxis();
            final NumberAxis yAxis = new NumberAxis();
            xAxis.setLabel("Number of Month");
            //creating the chart
            final LineChart<Number, Number> lineChart
                    = new LineChart<Number, Number>(xAxis, yAxis);
    
            lineChart.setTitle("Stock Monitoring, 2010");
            //defining a series
            XYChart.Series series = new XYChart.Series();
            series.setName("My portfolio");
            //populating the series with data
            series.getData().add(new XYChart.Data(1, 23));
            series.getData().add(new XYChart.Data(2, 14));
            series.getData().add(new XYChart.Data(3, 15));
            series.getData().add(new XYChart.Data(4, 24));
            series.getData().add(new XYChart.Data(5, 34));
            series.getData().add(new XYChart.Data(6, 36));
            series.getData().add(new XYChart.Data(7, 22));
            series.getData().add(new XYChart.Data(8, 45));
            series.getData().add(new XYChart.Data(9, 43));
            series.getData().add(new XYChart.Data(10, 17));
            series.getData().add(new XYChart.Data(11, 29));
            series.getData().add(new XYChart.Data(12, 25));
    
            Scene scene = new Scene(lineChart, 800, 600);
            lineChart.getData().add(series);
    
            series.getNode().setStyle("-fx-stroke: #336699; ");
    
            stage.setScene(scene);
            stage.show();
        }
    
        public static void main(String[] args)
        {
            launch(args);
        }
    }
    

    【讨论】:

    • 所以当我尝试这样做时,窗口甚至都没有打开,我添加了系列,但似乎什么都没有发生。
    • @KellenMiller 在 JavaFX8 中为我工作
    • 有没有办法改变图表的背景?
    • Platform.runLater(() -&gt; lineChart.lookup(".chart-plot-background").setStyle("-fx-background-color: #e2ecfe;"));
    • @KellenMiller 您也可以通过 CSS 文件设置这些样式,这可能更容易。请参阅JavaFX CSS Reference Guide
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多