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

标签 java jfreechart bar-chart

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

例如

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 可以继续玩 100 场游戏,而玩家 2 和 3 只玩几场,所以这看起来很荒谬! 我是 JFreeChart 的新手,所以可能有一个明显的解决方案!

预先感谢您的帮助。

最佳答案

先仔细看图 enter image description here

这里有一些关于数字的解释。

  1. setLowerMargin(双倍边距)。
  2. setUpperMargin(双边距)。
  3. setCategoryMargin(双边距)。
  4. setItemMargin(双边距)。

这是如何在图表中使用这些方法

 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

关于java - 关闭 JFreeChart 条形图中的空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725545/

相关文章:

java - 纳秒甘特图

javascript - 是否可以在谷歌可视化核心图表中添加图例边框?

java - TestNG retryAnalyzer 仅在方法@Test 中定义时才有效,在类'@Test 中无效

java - 从 JavaScript 读取 JSP 变量

java - 使用 JSP/servlet 在 JFreeChart 中创建工具提示

time-series - 清除系列并将其他系列保留在 JFreeChart 中

java - 处理同一页面上没有请求的丢失文件下载链接

java - 使图像适合 ImageButton

android - 录音时的音频可视化

r - 将bar的space和width参数打包以对齐2x1绘图窗口