动态刀尖生成器 - Jfreechart

时间:2015-07-07 21:14:10

标签: java jfreechart

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

以下是该计划的流程:

使用空数据集创建图表。

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

从套接字接收动态数据。

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

刷新图表。

2 个答案:

答案 0 :(得分:1)

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

例如,从JFreeChart的{​​{3}}课开始,添加个人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);

答案 1 :(得分:1)

  

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

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