Hi all,
having a XY chart I would like compress/expand data visualization both for X and Y axis by left mouse click, keep pressed and drag
Here is a chart example (picture A01973 attached) and here is the code to plot sample data
This is the expected result after left mouse click, keep pressed and dragged from top to bottom on Y Axis
(picture A01955 attached)
The same is expected for X Axis, by dragging lef/right data should compress or expand.
How can I accomplish this? Haven't found any examples anywhere!
Thanks.
Susie
having a XY chart I would like compress/expand data visualization both for X and Y axis by left mouse click, keep pressed and drag
Here is a chart example (picture A01973 attached) and here is the code to plot sample data
Java:
public class BaseXYChart extends Application {
@Override
public void start(Stage stage) {
stage.setTitle("Linear plot");
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis(1, 22, 0.5);
yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis){
@Override
public String toString(Number object){
return String.format("%7.2f", object);
}
});
final LineChart<String, Number>lineChart = new LineChart<String, Number>(xAxis, yAxis);
lineChart.setCreateSymbols(false);
lineChart.setAlternativeRowFillVisible(false);
lineChart.setLegendVisible(false);
XYChart.Series series1 = new XYChart.Series();
series1.getData().add(new XYChart.Data("Jan", 1));
series1.getData().add(new XYChart.Data("Feb", 1.5));
series1.getData().add(new XYChart.Data("Mar", 2));
series1.getData().add(new XYChart.Data("Apr", 2.5));
series1.getData().add(new XYChart.Data("May", 3));
series1.getData().add(new XYChart.Data("Jun", 4));
series1.getData().add(new XYChart.Data("Jul", 6));
series1.getData().add(new XYChart.Data("Aug", 9));
series1.getData().add(new XYChart.Data("Sep", 12));
series1.getData().add(new XYChart.Data("Oct", 15));
series1.getData().add(new XYChart.Data("Nov", 20));
series1.getData().add(new XYChart.Data("Dec", 22));
BorderPane pane = new BorderPane();
pane.setCenter(lineChart);
Scene scene = new Scene(pane, 800, 600);
lineChart.getData().addAll(series1);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
This is the expected result after left mouse click, keep pressed and dragged from top to bottom on Y Axis
(picture A01955 attached)
The same is expected for X Axis, by dragging lef/right data should compress or expand.
How can I accomplish this? Haven't found any examples anywhere!
Thanks.
Susie