java - 具有第三个值的 XYdataset Jfreechart 标签图

标签 java jfreechart label

我正在制作一个图表,根据时间显示平均值。我构建了一个 XY 数据集(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 变量,这样当我将鼠标悬停在图表上时,我可以看到每个图的计数。我该怎么做?

最佳答案

对于每个 TimeSeries 在你的 TimeSeriesCollection ,维持List<Integer>计数。引用您的自定义中的相关计数 XYToolTipGenerator ,如图herehere 。确切的公式取决于您的用例; XYZDataset ,以及相应的 XYZToolTipGenerator ,是可以作为指导的示例。

关于java - 具有第三个值的 XYdataset Jfreechart 标签图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819453/

相关文章:

java - 读取数组列表 (Java)

java - 使用JTable类时,JScrollPane的构造函数和它的add方法有什么区别?

java - 当数据返回带或不带子项的项目(填充或不存在现有数组)时如何验证 PACT

java - 将 XYErrorRenderer 添加到 ScatterChart

javascript - 将输入字段设置为标签元素的当前值

jquery - 获取输入字段的标签

java - 无法让 Android 应用程序退出

java - 时间序列图,X轴刻度标签变成

java - 如何更改/自定义 JFreeChart 的十字准线覆盖?

ios - 淡入淡出字符串数组