私はJavaFXを使ってチャートを開発しています。 DateAxis
が必要なので、私は DateAxis
からthis codeを使用します。結果はthisです。しかし、私はショー2の日付 間隔をしたい、私は解決策を見つけられませんでした。結果は常に1日の間隔を示します。これは私のコードです。JavaFXでDateAxis TickUnit(Date Interval)を設定する方法は?
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
ObservableList<XYChart.Series<Date, Number>> series = FXCollections.observableArrayList();
ObservableList<XYChart.Data<Date, Number>> series1Data = FXCollections.observableArrayList();
series1Data.add(new XYChart.Data<Date, Number>(new GregorianCalendar(2018,1, 12).getTime(), 2));
series1Data.add(new XYChart.Data<Date, Number>(new GregorianCalendar(2018, 1, 15).getTime(), 3));
series1Data.add(new XYChart.Data<Date, Number>(new GregorianCalendar(2018, 1, 16).getTime(), 4));
series.add(new XYChart.Series<>("Series1", series1Data));
NumberAxis numberAxis = new NumberAxis();
DateAxis dateAxis = new DateAxis();
dateAxis.setAutoRanging(false);
dateAxis.setLowerBound(new GregorianCalendar(2018,2, 12).getTime());
dateAxis.setUpperBound(new GregorianCalendar(2018,2, 16).getTime());
dateAxis.setTickLabelFormatter(new StringConverter<Date>() {
@Override
public String toString(Date object) {
return simpleDateFormat.format(object);
}
@Override
public Date fromString(String string) {
return null;
}
});
LineChart lineChart = new LineChart(dateAxis, numberAxis, series);
Scene scene = new Scene(lineChart, 900, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
どうすればいいですか?
ありがとうございました! – rlawlstjd007