как отобразить много легенд для графика на изображении - PullRequest
3 голосов
/ 25 января 2011

Я должен показать все легенды, созданные для диаграммы, на изображении при преобразовании диаграммы в изображение. Но количество легенд во многом связано с тем, что легенды вырезаны снизу, и на изображении появляется только несколько легенд .

Так что, пожалуйста, любой орган может сказать мне, как решить эту проблему

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Для создания изображения диаграммы для JCChart я использую метод снимка (JCChart, int) JCChart, он вернет изображение диаграммы.Таким образом, чтобы отобразить все легенды, мы должны перевесить метод снимка следующим образом

общедоступный снимок изображения (диаграмма JCChart, int num_legends) {Изображение image = chart.createImage (chart.getSize (). Width, chart.getSize (). Height +(. Chart.getLegend () getSymbolSize () + 4) * num_legends);если (изображение! = ноль){Графика g = image.getGraphics ();g.setClip (0, 0, chart.getSize (). width,chart.getSize (). Высота + chart.getSize (). Высота +(. Chart.getLegend () getSymbolSize () + 4) * num_legends);chart.paint (г);}возвратное изображение;}

0 голосов
/ 25 января 2011

Вы можете преобразовать диаграмму в изображение следующим образом:

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

Это метод, который вы используете?

...