pad*_*dro 6 css java javafx linechart scrollpane
我想linechart在JAVAFX上创建一个锁定y轴的水平滚动.我一直在寻找一个例子或类似的东西,但我没有找到任何与JAVAFX.当我滚动(当然)并且我想要至少看到传奇和y轴时,我试图把它linechart放入一个scrollpane但是所有都在左右移动...
有任何想法吗?谢谢!
例如在chart.js上是这样的:
您好,我创建了一个新的应用程序,它可以满足您的需求。技巧是,将图表的 minHeight 设置为小于 ScrollPane 的大小,因为 ScrollPane 需要滚动条的空间。这是我的例子:
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.scene.control.ScrollPane;
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<>(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));
ScrollPane root = new ScrollPane(lineChart);
root.setMinSize(1000,600);
lineChart.setMinSize(root.getMinWidth(),root.getMinHeight()-20);
Scene scene = new Scene(root,800,600);
lineChart.getData().add(series);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)