0
我一直在嘗試谷歌,但還沒有找到如何做一個像下面的條形圖的答案。 是否有可能使用JavaFX做圖表,其中月份按x軸上的年份分組,同時顯示月份和年份,如果是,應如何完成?如何在X軸上的JavaFX條形圖中按月分組?
參考圖表:
Chart http://i67.tinypic.com/lhe6t.jpg
請忽略堆疊酒吧。我只想將月份和年份都設置爲x軸,而不必每個月重複一次。
我一直在嘗試谷歌,但還沒有找到如何做一個像下面的條形圖的答案。 是否有可能使用JavaFX做圖表,其中月份按x軸上的年份分組,同時顯示月份和年份,如果是,應如何完成?如何在X軸上的JavaFX條形圖中按月分組?
參考圖表:
Chart http://i67.tinypic.com/lhe6t.jpg
請忽略堆疊酒吧。我只想將月份和年份都設置爲x軸,而不必每個月重複一次。
只需在一個月內添加年份即可。幾個月必須是不同的,所以我經過一番
public void start(Stage stage) {
NumberAxis y = new NumberAxis();
CategoryAxis x = new CategoryAxis();
BarChart<String, Number> bc = new BarChart<>(x, y);
bc.getData().add(new XYChart.Series<>());
for (int i = 0; i < 24; i++){
int year = i/12;
String mon = (i % 12 + 1) + "";
for (int j = 0; j < year; j++) mon += "\0";//needs to be different by year
bc.getData().get(0).getData().add(
new XYChart.Data<>(mon.startsWith("6")
? " "+mon + "\n" + (year + 2013)
: mon, Math.random()));
}
Scene scene = new Scene(bc,800,400);
stage.setScene(scene);
stage.show();
}
[你嘗試過什麼到目前爲止不工作(http://whathaveyoutried.com)添加不可打印的空?將您的代碼作爲問題的一部分發布。 – ManoDestra
您將要採用的方法是子類'Axis'(可能更具體地說,子類'Axis')。這不是一件容易的事情(對於這個論壇來說真的太廣泛了),因爲圖表API不適合這種定製(imho)。除了重寫抽象方法外,還需要重寫'layoutChildren()'方法。文檔是有限的,所以你可能需要看[源代碼](http://hg.openjdk.java.net/openjfx/8u60/rt/file/996511a322b7/modules/controls/src/main/java/javafx /場景/圖表)現有的'Axis'子類。 –
@ManoDestra我還沒有嘗試過任何東西,因爲我不知道從哪裏開始。 – Hiltunea