当前页面: 开发资料首页 → JSP 专题 → 请问:JFREECHART里的柱状图怎么生成相应的MAP标签?
请问:JFREECHART里的柱状图怎么生成相应的MAP标签?
摘要: 请问:JFREECHART里的柱状图怎么生成相应的MAP标签?
网上有很多介绍PIE图的~但是没见到BAR图的~
JFreeChart本身的生成方法比较麻烦,建议使用cewolf,它是封装了JFC的一套标记库,用起来很简单
生成BAR图的Map只需要创建一个类,并实现CategoryItemLinkGenerator接口就OK了!
public class HApplyCountData implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable {
private static final Log log = LogFactory.getLog(HApplyCountData.class);
private String menu;
private int datatype;
private int analyse;
private String date;
public Object produceDataset(Map params) throws DatasetProduceException {
log.debug("Bar producing data");
DefaultCategoryDataset dataset = new DefaultCategoryDataset() {
protected void finalize() throws Throwable {
super.finalize();
log.debug(this + "finalized.");
}
};
if (params.get("chartData") != null) {
Collection coll = (Collection) params.get("chartData");
Iterator it = coll.iterator();
while (it.hasNext()) {
PortBean bean = (PortBean) it.next();
if (String.valueOf(bean.getLabel()) != null) {
dataset.addValue(bean.getValue(), bean.getColtime().substring(0, 4), String.valueOf(bean.getLabel()));
this.menu = bean.getMenu();
this.datatype = bean.getDatatype();
this.analyse = bean.getAnalyse();
this.date = bean.getColtime();
}
}
}
return dataset;
}
...
public String generateToolTip(CategoryDataset arg0, int series, int arg2) {
...
}
public String generateLink(Object data, int series, Object category) {
StringBuffer url = new StringBuffer();
url.append("searchPort.do?m=").append(this.menu);
url.append("&type=").append(this.datatype);
url.append("&g=").append(this.analyse);
url.append("&port=").append(category.toString());
url.append("&date=").append(this.date);
return url.toString();
}
}
谢谢指教~~~appreciate~