有个作业需要用 Java 展示图表。这里记录一下我是如何把 XYChart.BarChart 调教成 Histogram 的。
写在前面
为什么不用 JFreeChart?
太丑了。
Workaround
ALevel 数学老师已经教过,Histogram 和 Bar chart 在外观的区别在于 bar 之间有没有间隔(histogram 的 bar 之间没有间隔),以及 Y 轴代表的是 frequency(histogram) 还是具体的数值(bar chart)。XYCharts 允许我们设置 Bar 和 Category 的间隔,这就好说了。
|
下一个问题就是统计正确的数据。我们可以用一个简单的 enhanced for loop 来统计不同 bin 的 frequency. 直接上代码:
|
为什么不直接操作 XYChart.Series?
简单来说,只有在读取一个 Series 的内容的时候,这个 Series 的内容才会被生成。所以当我们还在往 Series 里面存入数据的同时要读取里面的内容是做不到的。
成果
除另有声明外,本博客文章均采用 知识共享(Creative Commons) 署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

