显示曲线图数据点的数值,在程序中设置了相关属性却不显示,请高人指点是什么原因@SuppressWarnings({ "unchecked" })
public ActionForward queryMonthMap(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
String mode = request.getParameter("mode");
HttpSession session = request.getSession();
String url = "";
try {
if (mode == null || mode.equals("")) {
F06_flux_business_timeForm bean = (F06_flux_business_timeForm) form;
String endDate = bean.getEndDates();
String title = "";
String prodCatId = bean.getProdCatId();

title+="月统计图";

/** 获取月份天数* */
int yTime;
int mTime; /** jFreeChart生成图片的名称和路径* */
String filename = null;
String graphURL = null; TimeSeriesCollection dataset = new TimeSeriesCollection();
String name = "";

      
for (int j = 1; j < 4; j++) {
if (j == 1) {name = "通话时长(万分钟)";}  
else if (j == 2) {name = "通话费用(万元)";
} else if (j == 3) {name = "通话次数(万次)";}
TimeSeries s1 = new TimeSeries(name,Month.class);
List months=F06_flux_business_timeBusiness.getMonth(endDate);
for (int i = 0; i < months.size(); i++) {
double data=0;
String date=(String)months.get(i);
yTime=Integer.parseInt(date.substring(0, 4));
mTime=Integer.parseInt(date.substring(4));
bean.setEndDates(date);
BusiFluxBusinessTimeVO vo =(BusiFluxBusinessTimeVO)             F06_flux_business_timeBusiness.queryMonthMap(bean);
if(vo!=null&&!(vo.equals(""))){
        if (j == 1) {
data = vo.getSumBillDuration(); //当前通话时长是指计费时长
  }
  else if (j == 2) {data = vo.getSumCallCost();
 } else if (j == 3) {data = vo.getCallNumber();}
}
s1.add(new TimeSeriesDataItem(new Month(mTime,yTime), data==0?null:data));
}
dataset.addSeries(s1); // JFreeChart
}
dataset.setDomainIsPointsInTime(true);
JFreeChart chart = ChartFactory.createTimeSeriesChart(
title, // title
"月份", // x-axis label 
"数值", // y-axis label
dataset, // data
true, // create legend?
true, // generate tooltips?
false // generate URLs?
); 

XYPlot plot = (XYPlot) chart.getPlot();
plot.setBackgroundPaint(java.awt.Color.white);
plot.setDomainGridlinePaint(java.awt.Color.lightGray);
plot.setRangeGridlinePaint(java.awt.Color.lightGray);
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);

                               
       //设置曲线图显示的相关属性  
XYItemRenderer r = plot.getRenderer();
if (r instanceof XYLineAndShapeRenderer) {
XYLineAndShapeRenderer  renderer= (XYLineAndShapeRenderer) r;
renderer.setDefaultShapesVisible(true);
renderer.setDefaultShapesFilled(true);
//显示曲线点上的数值
renderer.setItemLabelsVisible(true); 
renderer.setBaseItemLabelsVisible(true);
DecimalFormat f1=new DecimalFormat("##");
renderer.setItemLabelGenerator(new StandardXYItemLabelGenerator("{2}",f1,f1));
renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer.setItemLabelFont(new Font("Dialog", 1, 14));
plot.setRenderer(renderer);
          }

DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("yy-MM")); filename = ServletUtilities.saveChartAsPNG(chart, 780, 340, null, session);
url = "map";
graphURL = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + filename;
request.setAttribute("graphURL", graphURL);
request.setAttribute("filename", filename);
} else {
String filename = request.getParameter("filename");
ServletUtilities.sendTempFile(filename, response);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
request.setAttribute("what", "服务器错误,请于管理员联系");
return mapping.findForward("what");
}
return mapping.findForward(url);
}