我正在使用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);
输出:(数字不匹配,这只是我敲了一个快速测试)
有人可以帮我解决这个空白区域的问题吗?从理论上讲,玩家1可以继续玩2场比赛,玩家2和3只玩少数游戏,所以看起来很荒谬! 我是JFreeChart的新手,所以可能有一个明显的解决方案!
提前感谢您的帮助。
答案 0 :(得分:15)
首先仔细看看图片
这是一些解释w.r.t Numbers。
以下是如何使用图表中的方法
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%)
希望这有助于
(评论后更新) 在这种情况下,你应该使用分层条形图