我正在使用jFreeChart生成动态图表(XYLineChart),并且我有一个未包含在数据集中的字段。该字段是动态生成的。我想在我的工具提示中包含它。我有可能做到吗?
以下是该计划的流程:
使用空数据集创建图表。
设置chartPanel。 (我想这里是我们定义TooltipGenerator的地方)。
从套接字接收动态数据。
将数据添加到数据集。 (这是我在工具提示文本中唯一需要的数据)。
刷新图表。
答案 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
的实施中访问。