0

我对 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 图表演示作为参考:https ://demo.vaadin.com/charts/Flags )

现在的问题是,在构建图表时,FlagItem 出现在 x 轴上,如您在此处看到的:

在此处输入图像描述

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

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

谢谢您的帮助!

4

0 回答 0