2010-11-09 70 views
0

我正在使用JFreeChart生成条形图。一切都在寻找,但我有一个很小的问题:栏的左侧与y轴重叠。我宁愿让棒条粘在(但不重叠)的轴上。如果我的描述不清楚:如果条形向右移动1个像素,则一切都将是完美的。JFreeChart:bar重叠y轴

起初我以为酒吧的中风是问题,但禁用中风会导致同样的问题。

编辑:图像放大问题区域。蓝色区域是酒吧,我希望轴(灰色线)被绘制在顶部,而不是在下面。

alt text

+0

请问您可以添加示例图片吗? – dacwe 2010-11-09 11:19:26

回答

0

它看起来像一个CategoryPlot,所以你应该有一个CategoryDomain为x轴(数字为y)的绘图区,所以你需要设置页边距(以轴的百分比)为您定义为x轴的CategoryDomain。我在CombinedRangeCategoryPlot像这样使用此功能:

CombinedRangeCategoryPlot plot = new CombinedRangeCategoryPlot(numberAxis); 
    CategoryAxis domain = new CategoryAxis(); 
    domain.setLowerMargin(0.2); 
    domain.setUpperMargin(0.2); 
    plot.add(new CategoryPlot(data, domain, null, renderer)); 

见文档:http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/axis/CategoryAxis.html#setUpperMargin(double

0

看起来你可能想在你的BarRenderer调用setBase()。你可能不得不凭经验来调整价值。

BarRenderer renderer = (BarRenderer) plot.getRenderer(); 
renderer.setBase(0.01);