动态刀尖生成器 – Jfreechart

我正在使用jFreeChart生成动态图表(XYLineChart),并且我有一个未包含在数据集中的字段。 该字段是动态生成的。 我想在我的工具提示中包含它。 我有可能做到吗?

以下是该计划的流程:

使用空数据集创建图表。

设置chartPanel。 (我想这里是我们定义TooltipGenerator的地方)。

从套接字接收动态数据。

将数据添加到数据集。 (这是我在工具提示文本中唯一需要拥有数据的地方)。

刷新图表。

您不必关心动态添加到数据集的数据。 使用数据集中的数据即时创建工具提示。 只需将单个XYToolTipGenerator分配给渲染器实例。

例如,从JFreeChartTimeSeriesChartDemo1类开始,并添加单个XYToolTipGenerator ,如下所示。

 XYItemRenderer r = plot.getRenderer(); … // define your own tooltip generator StandardXYToolTipGenerator tooltipGenerator = new StandardXYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { return "Series " + series + " Item: " + item + " Value: " + dataset.getXValue(series, item) + ";" + dataset.getYValue(series, item); } }; // and assign it to the renderer r.setBaseToolTipGenerator(tooltipGenerator); 

要显示的名称不包含在数据集的任何位置。

如此处所示,对于自定义XYItemLabelGenerator ,您可以扩展合适的数据集,例如AbstractXYDataset ,以包含所需信息并从XYToolTipGenerator的实现中访问它。