关闭JFreeChart条形图中的空白区域

时间:2013-05-23 23:30:27

标签: java jfreechart bar-chart

我正在使用JFreeChart并希望显示玩家得分的条形图,其中y轴上的得分和玩家的游戏在x轴上分组。

e.g。

String[] {Player name, score, game number}
Player 1, 10 , 1
Player 1, 12 , 2
Player 1, 15 , 3
Player 2, 11 , 1
Player 3, 18 , 1

因为玩家不必玩相同数量的游戏,所以当创建数据集时会导致大量空白,因为它试图为玩家2和玩家绘制一个条形图。 3场比赛2& 3。

data.addValue(score, game number, player name);

输出:(数字不匹配,这只是我敲了一个快速测试) Note the blank space in player 1 game 3 and player 3 games 1 and 2

有人可以帮我解决这个空白区域的问题吗?从理论上讲,玩家1可以继续玩2场比赛,玩家2和3只玩少数游戏,所以看起来很荒谬! 我是JFreeChart的新手,所以可能有一个明显的解决方案!

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:15)

首先仔细看看图片 enter image description here

这是一些解释w.r.t Numbers。

  1. setLowerMargin(双边距)。
  2. setUpperMargin(双边距)。
  3. setCategoryMargin(双边距)。
  4. setItemMargin(双边距)。
  5. 以下是如何使用图表中的方法

     CategoryPlot p = chart.getCategoryPlot(); 
    
     CategoryAxis axis = p.getDomainAxis();
     axis.setLowerMargin(0.1);
     axis.setUpperMargin(0.1);
     axis.setCategoryMargin(0.1);
     BarRenderer renderer = (BarRenderer) p.getRenderer();
     renderer.setItemMargin(0.1); 
    

    您可以将值设置为0.0到1.0(示例0.1表示10%)

    希望这有助于

    (评论后更新) 在这种情况下,你应该使用分层条形图

    enter image description here