Javafx 图表将 NumberAxis 更改为 CategoryAxis
Javafx chart change NumberAxis to CategoryAxis
我用 SceneBuilder 创建了一个 AreaChart
X 轴 NumberAxis
和 Y 轴上的 NumberAxis
。
@FXML
private AreaChart<Number,Number> areaChart;
和 FXML:
<AreaChart fx:id="areaChart" alternativeColumnFillVisible="true" createSymbols="false" style="-fx-horizontal-grid-lines-color: white;" title="Altura durante la sesión">
<xAxis>
<NumberAxis fx:id="areaX" animated="false" label="Distancia (metros)" style="axis_color: white;" />
</xAxis>
<yAxis>
<NumberAxis fx:id="areaY" label="Altura (metros)" style="axis_color: white;" />
</yAxis>
我想通过按下按钮将该 areaChart 转换为 AreaChart
,在 Y 轴上具有 NumberAxis
,在 X 轴上具有 CategoryAxis
。
因为我必须制作一个高度 x 距离图表,然后按下按钮将该图表转换为高度 x 时间图表
按下按钮后的结果必须是这样的:
<AreaChart fx:id="areaChart" alternativeColumnFillVisible="true" createSymbols="false" style="-fx-horizontal-grid-lines-color: white;" title="Altura durante la sesión">
<xAxis>
<CategoryAxis fx:id="areaX" animated="false" label="Distancia (metros)" style="axis_color: white;" />
</xAxis>
<yAxis>
<NumberAxis fx:id="areaY" label="Altura (metros)" style="axis_color: white;" />
</yAxis>
我认为更改图表的轴类型不是个好主意(我什至不确定你是否可以这样做)。
相反,我建议:
- 正在创建两个图表。
- 一个使用 CategoryAxis,另一个使用 NumberAxis。
- 向两个图表添加相似的数据(但可能不同)系列。
- 将两个图表放在 StackPane 中。
- 添加一个ToggleButton, ToggleSwitch, CheckBox or RadioButton(某种切换控件),以在两种状态之间切换。
- 将一个图表的可见性绑定到切换的选定状态,并将另一个图表的可见性绑定到切换的非选定状态。
这应该允许您根据需要显示具有适当轴类型的适当图表。
我用 SceneBuilder 创建了一个 AreaChart
X 轴 NumberAxis
和 Y 轴上的 NumberAxis
。
@FXML
private AreaChart<Number,Number> areaChart;
和 FXML:
<AreaChart fx:id="areaChart" alternativeColumnFillVisible="true" createSymbols="false" style="-fx-horizontal-grid-lines-color: white;" title="Altura durante la sesión">
<xAxis>
<NumberAxis fx:id="areaX" animated="false" label="Distancia (metros)" style="axis_color: white;" />
</xAxis>
<yAxis>
<NumberAxis fx:id="areaY" label="Altura (metros)" style="axis_color: white;" />
</yAxis>
我想通过按下按钮将该 areaChart 转换为 AreaChart
,在 Y 轴上具有 NumberAxis
,在 X 轴上具有 CategoryAxis
。
因为我必须制作一个高度 x 距离图表,然后按下按钮将该图表转换为高度 x 时间图表
按下按钮后的结果必须是这样的:
<AreaChart fx:id="areaChart" alternativeColumnFillVisible="true" createSymbols="false" style="-fx-horizontal-grid-lines-color: white;" title="Altura durante la sesión">
<xAxis>
<CategoryAxis fx:id="areaX" animated="false" label="Distancia (metros)" style="axis_color: white;" />
</xAxis>
<yAxis>
<NumberAxis fx:id="areaY" label="Altura (metros)" style="axis_color: white;" />
</yAxis>
我认为更改图表的轴类型不是个好主意(我什至不确定你是否可以这样做)。
相反,我建议:
- 正在创建两个图表。
- 一个使用 CategoryAxis,另一个使用 NumberAxis。
- 向两个图表添加相似的数据(但可能不同)系列。
- 将两个图表放在 StackPane 中。
- 添加一个ToggleButton, ToggleSwitch, CheckBox or RadioButton(某种切换控件),以在两种状态之间切换。
- 将一个图表的可见性绑定到切换的选定状态,并将另一个图表的可见性绑定到切换的非选定状态。
这应该允许您根据需要显示具有适当轴类型的适当图表。