XYdataset Jfreechart标签绘制第三个值

时间:2017-06-29 08:00:58

标签: java jfreechart labels

我正在制作一张图表,根据时间显示我的平均值。我已经构建了一个XYdataset(TimeSeries),其中x轴是时间,y轴是平均值。我得到了这个查询的平均值:

select hour, avg(localizations) as avg, count(distinct tag) as cnt from hourly_tag_summaries where hour >= ? and tag in ("+ids+") group by hour;

这就是我创建数据集的方式:

TimeSeries beacons_local = new TimeSeries("beacons-localizations");
String sql= "select hour, avg(localizations) as avg, count(distinct tag) as 
cnt from hourly_tag_summaries where hour >= ? and tag in ("+ids+") group by 
hour;";

    ResultSet rs1 = my_db.selectQuery(sql, Main.NOW - Main.DAYS);


    while (rs1.next()) {
        int avg = rs1.getInt("avg");
        long hour = rs1.getLong("hour");
        int cnt= rs1.getInt("cnt");
        beacons_local.add(new Millisecond(new Date(hour)),avg);

    }

我想保留cnt变量,所以当我在图表上鼠标悬停时,我可以看到每个绘图的计数。我该怎么做?

1 个答案:

答案 0 :(得分:2)

对于TimeSeries中的每个TimeSeriesCollection,保持List<Integer>个计数。引用自定义XYToolTipGenerator中的相关计数,如herehere所示。确切的配方取决于您的使用案例; XYZDataset以及相应的XYZToolTipGenerator是可作为指南的示例。