一、zhutunew.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.category.DefaultCategoryDataset,
org.jfree.chart.entity.StandardEntityCollection,
org.jfree.chart.labels.ItemLabelAnchor,
org.jfree.chart.labels.ItemLabelPosition,
org.jfree.chart.labels.StandardCategoryItemLabelGenerator,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.plot.ValueMarker,
org.jfree.chart.renderer.category.BarRenderer,
org.jfree.chart.renderer.category.CategoryItemRenderer,
org.jfree.data.category.CategoryDataset,
org.jfree.data.category.DefaultCategoryDataset,
org.jfree.chart.*,
org.jfree.chart.annotations.CategoryTextAnnotation,
org.jfree.chart.axis.CategoryAnchor,
org.jfree.chart.axis.CategoryAxis,
java.awt.BasicStroke,
java.awt.Color,
java.awt.Dimension,
java.awt.Font,
java.awt.GradientPaint,
org.jfree.ui.Layer,
org.jfree.ui.RefineryUtilities,
org.jfree.ui.TextAnchor,
org.jfree.chart.axis.CategoryLabelPositions"
%>
<%
//获取数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(300, "广州", "1");
dataset.addValue(200, "广州", "2");
dataset.addValue(500, "广州", "3");
dataset.addValue(340, "广州", "4");
dataset.addValue(290, "广州", "5");
dataset.addValue(310, "广州", "6");
dataset.addValue(250, "广州", "7");
dataset.addValue(530, "广州", "8");
dataset.addValue(390, "广州", "9");
dataset.addValue(530, "广州", "10");
dataset.addValue(600, "广州", "11");
JFreeChart jfreechart = ChartFactory.createBarChart("红球次数统计柱状图", "中奖号", "出现次数", dataset, PlotOrientation.HORIZONTAL, false, true, false);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
//设置柱的透明度
categoryplot.setForegroundAlpha(1f);
//jfreechart.setBorderVisible(true);
jfreechart.setBorderPaint(new Color(255,0,255));
jfreechart.setBackgroundPaint(new Color(255,255,255));
//jfreechart.getTitle().setPaint(Color.red);
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.0D));
CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
categoryitemrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
//显示每个柱的数值,并修改该数值的字体属性
//categoryitemrenderer.setItemLabelFont(new Font("黑体", Font.PLAIN, 12));
//categoryitemrenderer.setItemLabelsVisible(true);
BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
//显示每个柱的数值,并修改该数值的字体属性
//BarRenderer3D renderer = new BarRenderer3D();
barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
barrenderer.setBaseItemLabelsVisible(true);
barrenderer.setBaseFillPaint(Color.decode("#799AE1"));
barrenderer.setMaximumBarWidth(0.03); //设置柱状图的width
barrenderer.setItemLabelPaint(Color.decode("#000000"));
//默认的数字显示在柱子中,通过如下两句可调整数字的显示
//注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题
barrenderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
barrenderer.setItemLabelAnchorOffset(-20D);
//设置每个地区所包含的平行柱的之间距离
//barrenderer.setItemMargin(0.3);
//改变柱子的颜色
//BarRenderer barrenderer = (BarRenderer)categoryitemrenderer;
//设置柱子宽度
barrenderer.setMaximumBarWidth(0.040000000000001D);
//设置柱子高度
barrenderer.setMinimumBarLength(0.2);
//设置每个地区所包含的平行柱的之间距离
barrenderer.setItemMargin(0.5);
//设置柱状图的柱体的颜色
barrenderer.setItemMargin(0.10000000000000001D);
GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, new Color(255, 255, 0), 0.0F, 0.0F, new Color(255, 153, 0));
GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0));
GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0));
barrenderer.setSeriesPaint(0, gradientpaint);
barrenderer.setSeriesPaint(1, gradientpaint1);
barrenderer.setSeriesPaint(2, gradientpaint2);
//将设置好的barrenderer对象装载到面板中。
categoryplot.setRenderer(barrenderer);
//生产图表,并获取图片的名称
String filename = ServletUtilities.saveChartAsPNG(jfreechart, 300, 450, null, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=300 height=450 border=0 usemap="#<%= filename %>">
二、zhutunew.jsp效果图如下: