Javafx 2 JavaFx在StackedBarChart顶部添加文本标签

Javafx 2 JavaFx在StackedBarChart顶部添加文本标签,javafx-2,Javafx 2,搜索后 我发现了这个示例,但当条在类别轴上分开时,每个类别数据都有一个条,并且可以将侦听器添加到该数据(类别) 但对于堆叠条形图,每个类别都由堆叠条形图组成 我尝试了基于@jewelsea代码的 如果所有系列都是对称的,并且包含所有类别,则该解决方案将非常有效。 但具有非对称序列 ObservableList<StackedBarChart.Series> barChartData = FXCollections.observableArrayList(

搜索后

  • 我发现了这个示例,但当条在类别轴上分开时,每个
    类别数据都有一个条,并且可以将侦听器添加到该数据(类别)

  • 但对于堆叠条形图,每个类别都由堆叠条形图组成

  • 我尝试了基于@jewelsea代码的

  • 如果所有系列都是对称的,并且包含所有类别,则该解决方案将非常有效。

  • 具有非对称序列

        ObservableList<StackedBarChart.Series> barChartData = FXCollections.observableArrayList(
            new StackedBarChart.Series("Region 1", FXCollections.observableArrayList(
            new StackedBarChart.Data(years[0], 567d),
            new StackedBarChart.Data(years[1], 1292d),
            new StackedBarChart.Data(years[2], 1292d))),
            new StackedBarChart.Series("Region 2", FXCollections.observableArrayList(
            new StackedBarChart.Data(years[0], 956),
            new StackedBarChart.Data(years[1], 1665),
            new StackedBarChart.Data(years[2], 2559))),
            new StackedBarChart.Series("Region 3", FXCollections.observableArrayList(
            new StackedBarChart.Data(years[0], 1154),
            //new StackedBarChart.Data(years[1], 1927),// series names Region 3(which is the last series on the chart data) doesn't exist category years[1] "2008".
            new StackedBarChart.Data(years[2], 2774))));
    
    ObservableList barChartData=FXCollections.observableArrayList(
    新的StackedBarChart.Series(“区域1”,FXCollections.observableArrayList(
    新堆积条形图数据(年[0],567d),
    新堆积条形图数据(年份[1],1292d),
    新堆积条形图。数据(年[2],1292d)),
    新StackedBarChart.Series(“区域2”,FXCollections.observableArrayList(
    新堆叠条形图数据(年份[0],956),
    新堆积条形图数据(年[1],1665),
    新堆积条形图。数据(年[2],2559)),
    新的StackedBarChart.Series(“区域3”,FXCollections.observableArrayList(
    新堆叠条形图数据(年份[0],1154),
    //新的StackedBarChart.Data(年份[1],1927),//系列名称区域3(是图表数据上的最后一个系列)不存在类别年份[1]“2008”。
    新堆积条形图。数据(年[2],2774));
    
  • 我们将错过2008年类别顶部的文本

  • 欢迎任何帮助


由于您将其注释掉,因此它丢失了:

    //new StackedBarChart.Data(years[1], 1927),// series names Region 3(which is the last series on the chart data) doesn't exist category years[1] "2008".
第二个参数是“1927”标题。从技术上讲,这是Y轴参数。你需要保持这条线,以显示“1927”。查看API:


你可能需要用另一种方式来表达你的“头衔”。使用文本类并将其添加到StackedBarChart.Series对象的顶部。

@jewelsea此me解决方案。是否成功更新了条形图顶部的数据和条形图值?或者至少删除bars@J雷米哈林,请检查一下这个密码。我做了并评论了你的一个要点,请参见:)我确实想评论这一行,因为上一个系列的案例没有包含所有类别。请在新的StackedBarChart上尝试setLegendVisible()。数据(年份[1],1665)部分?我从这里得到了方法(StackedBarChart同时使用数据和系列):