JavaFx在StackedBarChart之上添加文本标签

时间:2013-07-24 15:28:44

标签: javafx-2

搜索后

  • 我发现了这个示例how to display bar value on top of bar javafx,但是当在类别轴上分隔条时,每个category data has a single bar和监听器都可以添加到该数据(类别)。

  • 但是StackedBarChart每个类别都包含StackedBar。

  • 我根据@jewelsea代码尝试 code simple

  • 如果所有系列都是对称的并且包含所有类别,那么该解决方案就可以完成。 symmetric Series

  • 与非对称系列

        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))));
    
  • 我们将错过2008类别上的文字。 non-symmetric series miss text on the missing categories

  • 欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

它丢失了,因为你发表了评论:

    //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:

http://docs.oracle.com/javafx/2/api/javafx/scene/chart/StackedBarChart.html

您可能需要以另一种方式放置“标题”。使用文本类并将其添加到StackedBarChart.Series对象之上。