Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am using JFreeChart and would like to display a bar chart of player's scores, with the score on the y-axis and the player's games grouped on the x-axis.

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

Because the players do not have to play the same number of games, this results in a lot of blank space when the dataSet is created, as it tries to plot a bar for Player 2 & 3 games 2 & 3.

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

Output: (the numbers dont quite match, this was just a quick test I knocked up) Note the blank space in player 1 game 3 and player 3 games 1 and 2

Can anybody help me with how to close up this blank space? In theory player 1 could go on to play 100s of games with player 2 and 3 playing only a few, so it would look quite ridiculous! I am new to JFreeChart so there is probably an obvious solution!

Thank you in advance for your help.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
427 views
Welcome To Ask or Share your Answers For Others

1 Answer

First Look at the Picture carefully enter image description here

Here is some Explanation w.r.t Numbers.

  1. setLowerMargin(Double margin).
  2. setUpperMargin(Double margin).
  3. setCategoryMargin(Double margin).
  4. setItemMargin(Double margin).

Here is How you can use the methods in your chart

 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); 

You can set the value between 0.0 to 1.0 (example 0.1 means 10%)

Hope this Helps

(Update After your comment) Well in this Case you should use Layered Bar Chart

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...