如何在Scatter Chart中更改磅值?

时间:2016-10-09 19:09:41

标签: java css javafx plot scatter-plot

我在JavaFX中创建了这个ScatterChartBifurcation diagram 如何设置数据点大小?

我发现它应该在CSS中完成,但即使拥有docs,我仍然无法弄明白。

2 个答案:

答案 0 :(得分:4)

使用

*ngIf="!addUserForm.controls.name.valid"

如果您需要将其应用于特定图表,请为图表指定一个ID并使用CSS文件中的ID:

valid
.chart-symbol {
    -fx-background-radius: 10px ;
    -fx-padding: 10px ;
}

SSCCE:

chart.setId("bifurcation-diagram");

bifurcation.css:

#bifurcation-diagram .chart-symbol {
    -fx-background-radius: 10px ;
    -fx-padding: 10px ;
}

enter image description here

如果你想要更小的点,这似乎不能正常工作(我假设它们与为图表数据生成的默认节点不兼容)。在这种情况下,您可能还需要为数据设置节点:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.ScatterChart;
import javafx.scene.chart.XYChart.Data;
import javafx.scene.chart.XYChart.Series;
import javafx.stage.Stage;

public class ScatterChartExample extends Application {

    @Override
    public void start(Stage primaryStage) {

        ScatterChart<Number, Number> chart = new ScatterChart<>(new NumberAxis(), new NumberAxis());

        chart.setId("bifurcation-diagram");

        Series<Number, Number> series = new Series<>();
        chart.getData().add(series);

        for (int i = 0 ; i <= 100; i++) {
            double lambda = 4.0 * i / 100 ;
            double x = 0.5 ;
            for (int j = 0 ; j < 100 ; j++) {
                x = lambda * x * (1-x);
            }
            for (int j = 0 ; j < 50; j++) {
                series.getData().add(new Data<>(lambda, x));
                x = lambda * x * (1-x);
            }
        }

        Scene scene = new Scene(chart, 1200, 800);
        scene.getStylesheets().add("bifurcation.css");
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        launch(args);
    }
}

和CSS

#bifurcation-diagram .chart-symbol {
    -fx-background-radius: 10px ;
    -fx-padding: 10px ;
}

enter image description here

答案 1 :(得分:0)

如果你想增加所有点的大小,你可以简单地使用以下CSS:

.default-color5.chart-symbol {
    -fx-background-color: #860061, white;
    -fx-background-insets: 0, 2;
    -fx-background-radius: 5px;
    -fx-padding: 5px;
}

顺便说一句,这是JavaFX: Working with JavaFX UI Components (scatter chart section)的一个例子:

.default-color<x>

它使第五个系列符号成为空心圆。请参阅此样式表中的$(".merchant_working_hours_close_time > select").attr('id'); 与下面提到的CSS参考指南之间的关系 - 这非常简单。

更详细的信息可以在散点图部分的JavaFX CSS Reference Guide找到。