2011-01-25 109 views
3

當將圖表轉換爲圖像時,我必須顯示爲圖表上的圖表創建的所有圖例。但是圖例的數量很大程度上取決於圖例中的圖例底部和圖片上只出現少數幾個傳說。如何在圖像上顯示圖表的許多圖例

所以請任何機構可以告訴我怎麼解決這個問題

+0

什麼版本的JFreeChart?你能舉一個例子嗎? – trashgod 2011-01-25 12:56:12

回答

0

爲JCChart創建圖表圖像我使用JCChart的快照(JCChart,int)方法,它將返回圖表的圖像。因此,爲了顯示所有的圖例我們將要在此改變快照方法如下

公共圖片快照(JCChart圖表,整數num_legends){
圖片圖像= chart.createImage(chart.getSize()。寬度,圖表.getSize()。height +
(chart.getLegend()。getSymbolSize()+ 4)* num_legends);
if(image!= null)
{
Graphics g = image.getGraphics();
g.setClip(0,0,chart.getSize()。width,
chart.getSize()。height + chart.getSize()。height +
(chart.getLegend()。getSymbolSize()+ 4)* num_legends );
chart.paint(g);
}
return image;
}

0

您可以轉換成圖表這樣一個形象:

OutputStream out = ... 
org.jfree.chart.ChartUtilities.writeChartAsPNG(out, chart, width, height, null, true, 0); 

是,該方法你使用?

+0

實際上,我使用的是jcchart,當圖表被佔用的時候,如果有許多傳說,只有那些適合圖表顯示和休息reagio的大小的文件纔會被丟棄 – 2011-01-25 13:20:44