2014-03-06 103 views
1

我一直在使用JFreeChart来绘制一些图片,但是我对图例中标签之间的空间有疑问。JFreeChart图例标签之间的差距

有没有人知道如何设置传奇之间的空间?例如,现在:

No space between legends

,这是我希望它看起来像

space between legends

我会感谢你的帮助。

+0

SSCCE可能会有帮助。 http://www.sscce.org/。如何将字符串“”添加到图例中每个项目的末尾? “”我的意思是一串6个空格:堆栈溢出格式化我的“”不正确。 –

+0

交叉发布[这里](http://www.jfree.org/forum/viewtopic.php?f=3&t=116838&p=177519)。 – trashgod

回答

-2

刚去在你的代码的地方传说的项目设置和更改"2012"

"2012 "

+0

谢谢!有效。但是,有没有办法通过JFreechart API?只是想知道.... – Camilo

+0

我尝试了这种方法。然而它是关于传说和它周围的矩形之间的填充,而不是它们之间的填充。我在JFreechart论坛发布了一个问题,不断等待他们的回应。 – Camilo

+0

没问题。是的,我刚刚发现了这一点。请注意,图例是一整套标签,不仅仅是一个,而且这不一定能帮助您回答问题。 –

4

您可以在LegendTitle类中使用setItemLabelPadding()方法。

LegendTitle legend = chart.getLegend(); 
legend.setItemLabelPadding(new RectangleInsets(2, 2, 2, 30)); 

这种方法的唯一问题是它也会在图例的每一行的最后一项之后留下空白。

如果你不介意多一点的复杂性,你可以删除默认的传奇人物,创建一个新的与布局指定的几个参数:

chart.removeLegend(); 
FlowArrangement hlayout = new FlowArrangement(
     HorizontalAlignment.CENTER, VerticalAlignment.CENTER, 20, 2); 
LegendTitle legend = new LegendTitle(r, hlayout, new ColumnArrangement()); 
legend.setPosition(RectangleEdge.BOTTOM); 
chart.addLegend(legend); 

传说需要一个横向布局时位于图表的顶部或底部,以及位于图表左侧或右侧时的垂直布局。这里我们只定制了水平布局,指定项目应该有一个流布局,以每个项目之间的间隔为20为中心,如果包装线,线之间的间隔为2。我认为这会得到你所要求的结果。

+0

谢谢,你有什么例子吗? – Camilo

+0

我编辑的答案包括一个例子。 –

+0

高级代码中的“r”是什么? – leontalbot