java生成直方图文件_java – 从数据库生成直方图

MySQL数据库中,有一个包含单个数值列的表.我想将这些值的分布绘制为具有以下要求的条形图/直方图:

>图表中最多应有N个柱(间隔)

>每个条的宽度(x轴范围)应该是均匀的,每个条的高度应该反映此间隔中的值的数量.

>栏的端点应以圆数出现.我理解这是一个相当模糊的要求,但希望下面的例子将说明我的意思

>间隔应该是连续的,例如下一个间隔应该从前一个间隔开始

>理想情况下,应该可以使用单个查询检索数据

>可以使计数(y轴值)为0的间隔

>如果第一个间隔的下限小于最小值和/或最后一个间隔的上限大于最大值,则可以

如果N = 3且表包含以下数据

+------------+

| value |

+------------+

| -49.2 |

| -28.2 |

| 13.3 |

| 23.3 |

| 51.4 |

| 77.9 |

+------------+

在检查时,很容易看到间隔{-50..0,0..50,50..100}满足该数据集的要求和N的值.

但是,我正在努力想出一个适用于N和任何数据集的任何值的通用解决方案.这是我到目前为止所尝试的:

计算间隔宽度

通过以下查询获取最大值和最小值

SELECT min(value), max(value), count(*) FROM my_table

然后将结果传递给此(Groovy / Java)方法以计算每个间隔的宽度

// intervalCount is what I've referred to as "N"<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值