使用JFreeChart创建GitHub穿孔卡

时间:2013-10-14 09:40:18

标签: jfreechart

我正在寻找有关如何使用JFreeChart创建类似于GitHub穿孔卡的情节的建议。 E.g。

enter image description here

我猜这是热图或二维直方图的一些变体。

2 个答案:

答案 0 :(得分:2)

好的,所以我发现XYBubbleRenderer看起来是一个很好的起点。

  • 使用rows = 7,columns = 24
  • 创建MatrixSeries
  • 相应地填写频率。我发现将值首先标准化为0 ... 1,然后取平方根(较小的值有更好的可见圆圈),然后乘以0.5(否则圆圈太大)很有用
  • 创建MatrixSeriesCollection
  • 使用ChartFactory.createBubbleChart
  • 只能通过plot.getRenderer.setSeriesOutlinePaint(0, new Color(0, 0, 0, 0))
  • 删除圈子轮廓
  • 确保两个轴上的整数刻度单位
  • x轴范围-0.5至23.5,y轴范围-0.5至6.5(如果使用Calendar.DAY_OF_WEEK,则为0.5至7.5)
  • 自定义NumberTickUnit,y轴使用日期标签而非数字

结果:

enter image description here

答案 1 :(得分:2)

除了XYBubbleRenderer,建议here之外,还要考虑TableCellRendererIcon的合适实施,图示为here

image