我对 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 可能会很有用。
谢谢您的帮助!