Charts JavaFx自定义类别Axis手册,不使用自动更改

Charts JavaFx自定义类别Axis手册,不使用自动更改,charts,javafx-2,Charts,Javafx 2,我有一个图表,可能有空值,而且我想固定X轴比例(例如20点)。 以及绑定到Y轴的值(非空值,例如10值) [更新] String [] categories = {"32-11, 33-11, 34-11, 35-11, 36-11, 37-11, 38-11, 39-11, 40-11, 41-11, 42-11, 43-11, 44-11, 45-11, 46-11, 47-11, 48-11, 49-11, 50-11, 51-11"}; LineChart<String, Num

我有一个图表,可能有空值,而且我想固定X轴比例(例如20点)。 以及绑定到Y轴的值(非空值,例如10值)

[更新]

String [] categories = {"32-11, 33-11, 34-11, 35-11, 36-11, 37-11, 38-11, 39-11, 40-11, 41-11, 42-11, 43-11, 44-11, 45-11, 46-11, 47-11, 48-11, 49-11, 50-11, 51-11"};
LineChart<String, Number> myChart;
CategoryAxis xAxis;
NumberAxis yAxis;

yAxis = new NumberAxis();
xAxis = new CategoryAxis();
xAxis.setCategories(FXCollections.<String>observableArrayList(Arrays.asList(categories))); 
xAxis.setAutoRanging(false);

myChart = new LineChart<String, Number>(xAxis,yAxis);

    Series<String, Number> aSeries = new Series<String, Number>();
    for (int i = 0; i < categories.length; i++) {
        aSeries.getData().add(new XYChart.Data(categories[i],"Some Long values and may be null"));
    }

myChart.getData().add(aSeries);
String[]categories={“32-11、33-11、34-11、35-11、36-11、37-11、38-11、39-11、40-11、41-11、42-11、43-11、44-11、45-11、46-11、47-11、48-11、49-11、50-11、51-11”};
线条图;
分类法;
数字轴yAxis;
yAxis=新的数字Axis();
xAxis=新类别Axis();
setCategories(FXCollections.observearraylist(Arrays.asList(categories));
xAxis.setAutoRanging(假);
myChart=新的线形图(xAxis,yAxis);
系列A系列=新系列();
对于(int i=0;i
  • 图表什么也不画
  • //xAxis.setAutoRanging(假);图表绘制,但具有自动范围
我找到了问题的解决方案:
  • 我得到了分类的来源!从
  • 加一行,一切正常

    public final void setCategories(ObservableList<String> value) {
    categories.set(value);
    invalidateRange(value);  //add that line
    requestAxisLayout();
    }
    
    public final void setCategories(可观察列表值){
    类别。设置(值);
    invalidateRange(value);//添加该行
    requestAxisLayout();
    }
    
更新:

这个问题可以在不改变CategoryAxis类的情况下解决,CategoryAxis类刚刚将这一行添加到我的代码中:

xAxis.setAutoRanging(false); 
xAxis.setCategories(FXCollections.<String>observableArrayList(Arrays.asList(categories))); 
xAxis.invalidateRange(Arrays.asList(categories));  // add that line to my code.
xAxis.setAutoRanging(false);
setCategories(FXCollections.observearraylist(Arrays.asList(categories));
xAxis.invalidateRange(Arrays.asList(categories));//将该行添加到我的代码中。

当使用非空构造函数xAxis=new
CategoryAxis(FXCollections.observearraylist(Arrays.asList(categories))时;xAxis.setAutoRanging(假)作为Oracle文档,使用给定的类别创建类别轴。但它创建的轴刻度没有任何图表系列线。我们不能只设置类别轴的计数吗?例如,我只想显示10个类别,当第11个类别出现时,第一个类别将被删除?