I am using java and I Report and new to Ireport. Values to I report are passed through java.

I handled only single values not array or group of values .


Now I want to create a chart. with month on x-axis and running(auto increment) values on y-axis. Data are in Map in java , so i can pass Map to Ireport through parameters.How can use this to chart.

I saw example are for SQ L query .

My java code

Java Code:
Map<Integer, Map<String, Object>> monthMap = new ProjectCodeBiz().getProjectBudgetAndActualToMonth(projectId, year, period);  
          
  
if (monthMap != null) {  
                Iterator<Integer> monthIterator = monthMap.keySet().iterator();  
                Integer monthKey;  
                  
                Map<String, Object> sumMap;  
                Iterator<String> sumIterator;  
                String sumKey;  
                  
                while(monthIterator.hasNext()){  
                    monthKey = (Integer) monthIterator.next();  
                    parameters.put(MONTH, monthKey);  
                    sumMap = monthMap.get(monthKey);  
                    sumIterator = sumMap.keySet().iterator();  
                    while(sumIterator.hasNext()){  
                        sumKey = (String) sumIterator.next();  
                        BigDecimal value = (BigDecimal)sumMap.get(sumKey);  
                        parameters.put(sumKey, ObjectUtils.round(value));  
                    }  
                }  
            }  
              
            //Filling the reports with data  
            jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,dataSource);
Usually i retrieve values like this in Ireport
Java Code:
CDATA[$P{REPORT_PARAMETERS_MAP}.get( "report_title" ) for parameters and  
CDATA[$F{cp_labour_hour}for datasource.

sample output is
Month: 1
Key: Actual_Cost
Value: 910.00
Key: Actual_Sale
Value: 0.00
Key: Cost
Value: 87300.00
Key: Sale
Value: 97991.25
.....
Month: 17
Key: Actual_Cost
Value: 910.00
Key: Actual_Sale
Value: 0.00
Key: Cost
Value: 92740.00
Key: Sale
Value: 104095.75



Please anybody help me how to retrieve data from map? or If map can not handle in ireport any other way to handle this.

My x-axis is for month should like this M 1, M 2, M 3 ....
and y-axis 100,200,300 etc.

what should i use for Series expression, X Value expression and Y value expression in i report chart properties?

Using graph for four keys so X Y map is OK right?

Please give me suggestions...


Note: data are from two sources, that is why i am using parameter and data source.