用
JFreeChart
画柱状图的范例
这个范例说明如何用 JFreeChart 画简单的柱状图,下面是一个 JSP 的简单
范例:
<%@pagecontentType="text/html;charset=GB2312"%>
<%@pageimport="java.awt.*,java.text.*,java.util.*"%>
<%@pageimport="org.jfree.chart.*"%>
<%@pageimport="org.jfree.chart.axis.*"%>
<%@pageimport="org.jfree.chart.labels.StandardCategoryItemLa
belGenerator"%>
<%@pageimport="org.jfree.chart.plot.*"%>
<%@pageimport="org.jfree.chart.renderer.*"%>
<%@pageimport="org.jfree.chart.servlet.ServletUtilities"%>
<%@pageimport="org.jfree.data.DefaultCategoryDataset"%>
<%@pageimport="org.jfree.ui.TextAnchor"%>
<%
//Thedataforthebarchart
double[]data={85,156,179.5,211,123};
//Thelabelsforthebarchart
String[]labels={"Mon","Tue","Wed","Thu","Fri"};
DefaultCategoryDatasetdataset=newDefaultCategoryDataset()
;
for(inti=0;i<data.length;i++){
dataset.addValue(data[i],null,labels[i]);
}
JFreeChartchart=ChartFactory.createBarChart3D("Weekly
Server Load","Work Week
25","MBytes",dataset,PlotOrientation.VERTICAL,false,false,false);
chart.setBackgroundPaint(newColor(0xE1E1E1));
CategoryPlotplot=chart.getCategoryPlot();
//设置 Y 轴显示整数
NumberAxisrangeAxis=(NumberAxis)plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUni
ts());
CategoryAxisdomainAxis=plot.getDomainAxis();
//设置距离图片左端距离
domainAxis.setLowerMargin(0.05);