Я новичок в JasperReports и медленно пробираюсь через основы. У меня есть ситуация, когда я не хочу заполнять круговую диаграмму данными, управляемыми БД (через так называемый источник данных ). Я хочу предоставить всю информацию, необходимую для заполнения круговой диаграммы, из хэш-карты Java, переданной в JasperFillManager во время выполнения.
Это будет включать параметры для маркировки срезов на круговой диаграмме, установки их цветов и определения их веса / значений (размера срезов). Итак, в какой-то момент в моем Java-коде я бы написал что-то вроде:
HashMap<String,Object> jrParams = new HashMap<String,Object>();
jpParams.put("slice_1_label", "Red Team");
jpParams.put("slice_1_color", Color.RED);
jpParams.put("slice_1_value", 67.0);
jpParams.put("slice_2_label", "Blue Team");
jpParams.put("slice_2_color", Color.BLUE);
jpParams.put("slice_2_value", 33.0);
// ... some other code
JasperFillManager.fillReport(jasperDesign, jrParams);
Цель, которую я пытаюсь достичь, состоит в том, чтобы иметь круговую диаграмму с 2 срезами; красный срез "Red Team", занимающий 67% пирога, и синий срез "Blue Team", занимающий 33%.
Теперь мне нужна помощь в «соединении точек» между моей хэш-картой и JRXML / JasperDesign.
Может ли кто-нибудь показать мне (или просто помочь мне) узнать, какого рода <pieChart>
JRXML мне нужно написать, чтобы моя jrParam
хеш-карта заполнила круговую диаграмму параметрами времени выполнения? Я сделал лучшую попытку ниже, но просто изо всех сил пытаюсь понять все это.
<pieChart>
<chart isShowLegend="true">
<reportElement x="10" y="10" width="300" height="300"/>
<chartTitle>
<titleExpression><![CDATA[My First JR Pie Chart]]></titleExpression>
</chartTitle>
</chart>
<pieDataset>
<!-- Here is where I believe I need to put my two slices; not sure how -->
</pieDataset>
<piePlot>
<plot backcolor="#8BA870"/>
<itemLabel color="#000000"/>
</piePlot>
</pieChart>
Заранее спасибо за любую помощь / разъяснения!