Vaadin 14 FlagItems 在 ListSeries 上未正确对齐

Vaadin 14 FlagItems not aligned correctly on ListSeries

我遇到了关于 Vaadin 14 中的 FlagItem 的问题。

我正在尝试为 ListSeries 中的特定点设置 FlagItem,我按以下方式进行操作:

PlotOptionsFlags plotOptionsFlags = new PlotOptionsFlags();
plotOptionsFlags.setOnSeries(wageEntry.getEmployeeCode());
plotOptionsFlags.setShape(FlagShape.SQUAREPIN);
plotOptionsFlags.getTooltip().setPointFormat("Wage: {point.y}");
plotOptionsFlags.getTooltip().setHeaderFormat("");
plotOptionsFlags.setShowInLegend(false);
DataSeries flagsSeries = new DataSeries();
flagsSeries.setName(wageEntry.getEmployeeCode().concat(" Current Wage"));
flagsSeries.setPlotOptions(plotOptionsFlags);
for (WageEntry wage : employeeWageEntries) {
    if (wage.getWageYear() == LocalDate.now().getYear()) {
       flagsSeries.add(new FlagItem(wage.getAge() - 22, wage.getEmployeeCode().concat(" - ").concat(String.valueOf(wage.getWageAmount()))));
    }
}
comparisonChartConfiguration.addSeries(flagsSeries);

如您所见,我设置了相对于条目年龄和文本的 x 值。更重要的是,只有在满足特定条件时才会创建 FlagItem。 (我参考了Vaadin Chart Demo:https://demo.vaadin.com/charts/Flags

现在的问题是,在构建图表时,FlagItem 出现在 x 轴上,而不是像您在此处看到的那样:

我真的不明白为什么会这样。

知道图表上绘制了三个 RangeSeries 和多个 ListSeries 可能很有用。

感谢您的帮助!

所以我找到了问题所在。上面的代码中没有添加,请见谅。

问题在于我在创建 flagsSeries.

之前没有将 ListSeries 添加到 comparisonChartConfiguration

简而言之,您需要先将要附加标志的系列添加到 ChartConfiguration,然后才能将 flagsSeries 附加到另一个。