我对XYChart绘图存在缩放问题:我的数据系列的浮点值范围为0.4和0.5,当在场景上绘制时,我得到的最小Y值为1,因此我看不到任何绘制的内容。
如果我使用具有更高值的数据系列,例如>,则不会出现此问题。 100
如何根据使用的数据系列值设置y轴?
由于
答案 0 :(得分:5)
如JavaDoc for NumberAxis构造函数中所述:public NumberAxis(double lowerBound, double upperBound, double tickUnit)
- 您可以为轴提供底部和下部边界。
NumberAxis xAxis = new NumberAxis("X-Axis", 0d, 1d, .05);
NumberAxis yAxis = new NumberAxis("Y-Axis", 0d, 1d, .05);
ObservableList<XYChart.Series> data = FXCollections.observableArrayList(
new ScatterChart.Series("Series 1", FXCollections.<ScatterChart.Data>observableArrayList(
new XYChart.Data(.1, .1),
new XYChart.Data(.2, .2))));
ScatterChart chart = new ScatterChart(xAxis, yAxis, data);
root.getChildren().add(chart);
更新:图表的自动调整也适用于我,请参阅下一个代码和屏幕截图。您可能希望升级到JavaFX 2.1或更高版本。
NumberAxis xAxis = new NumberAxis();
NumberAxis yAxis = new NumberAxis();
ObservableList<XYChart.Series> data = FXCollections.observableArrayList(
new ScatterChart.Series("Series 1", FXCollections.<ScatterChart.Data>observableArrayList(
new XYChart.Data(.01, .1),
new XYChart.Data(.1, .11),
new XYChart.Data(.12, .12),
new XYChart.Data(.18, .15),
new XYChart.Data(.2, .2))));
XYChart chart = new LineChart(xAxis, yAxis, data);
root.getChildren().add(chart);