日期:2014-05-18  浏览次数:20789 次

Jfreechart图表问题
下面是我用来生成一个柱形图的代码,但是生成的图表中的柱形看起来不是很好,不知道哪为大侠能帮我修改一下没根柱形的宽度,最好也能够让每根柱形上显示所代表的数据,谢谢!!!
<%@   page   contentType= "text/html;charset=GBK "%>
<%@   page   import= "org.jfree.chart.JFreeChart "%> <!--图形生成类-->
<%@   page   import= "org.jfree.chart.ChartFactory "%> <!--基于JFreeChart创建图形具体方法类-->
<%@   page   import= "org.jfree.data.category.DefaultCategoryDataset "%> <!--数据容器类-->
<%@   page   import= "org.jfree.chart.plot.PlotOrientation "%> <!--坐标轴类型类(HORIZONTAL/VERTICAL)-->
<%@   page   import= "org.jfree.chart.servlet.ServletUtilities "%> <!--生成图片类-->
<%
String   filename;
String   graphURL;

//加入数据,DefaultCategoryDataset类型数据适合于柱型图和折线图
DefaultCategoryDataset   dataset   =   new   DefaultCategoryDataset();
dataset.addValue(300,   "广州 ",   "aa ");
dataset.addValue(200,   "南京 ",   "bb ");
dataset.addValue(280,   "上海 ",   "cc ");
dataset.addValue(300,   "武汉 ",   "dd ");
dataset.addValue(540,   "苏州 ",   "ee ");
dataset.addValue(540,   "贵州 ",   "ff ");
dataset.addValue(521,   "大连 ",   "gg ");
dataset.addValue(540,   "青岛 ",   "hh ");
//生成图形(一般柱型图:createBarChart)
JFreeChart   chart_Bar   =   ChartFactory.createBarChart( "水果销量统计图 ",  
"水果 ",
"销量 ",
dataset,//数据
PlotOrientation.VERTICAL,//坐标轴类型
true,
false,
false);

//输出图形
filename   =   ServletUtilities.saveChartAsPNG(chart_Bar,   500,   300,   session);
//filename   =   ServletUtilities.saveChartaspNG(chart_Bar,   500,   300,   null,   session);
graphURL   =   request.getContextPath()   +   "/servlet/DisplayChart?filename= "   +   filename;
%>
<img   src= " <%=   graphURL   %> "   width=500   height=300   border=0   usemap= "# <%=   filename   %> ">



------解决方案--------------------
//设置柱状的值显示
// CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
// StandardCategoryItemLabelGenerator standardCategoryItemLabelGenerator=new StandardCategoryItemLabelGenerator();
// categoryitemrenderer.setItemLabelGenerator(standardCategoryItemLabelGenerator);
// categoryitemrenderer.setItemLabelFont(new Font( "Serif ", 0, 20));
// categoryitemrenderer.setItemLabelsVisible(true);