<%@ page contentType="text/html;charset=GBK"%> <%@ page import="org.jfree.chart.ChartFactory, java.awt.*, java.text.*, org.jfree.chart.renderer.category.*, org.jfree.chart.JFreeChart, org.jfree.chart.plot.*, org.jfree.chart.axis.*, org.jfree.chart.labels.*, org.jfree.data.*, org.jfree.ui.*, org.jfree.chart.*,
org.jfree.data.category.*" %> <%! static class CustomRenderer extends BarRenderer3D { public Paint getItemPaint(int i, int j) { return colors[j % colors.length]; } private Paint colors[]; public CustomRenderer(Paint apaint[]) { colors = apaint; } } %> <% int a=5,b=6,c=3,d=9,e=2; response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg"); DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue((double)a/(a+b+c+d+e), "广州", "苹果"); dataset.addValue((double)b/(a+b+c+d+e), "广州", "梨子"); dataset.addValue((double)c/(a+b+c+d+e), "广州", "葡萄"); dataset.addValue((double)d/(a+b+c+d+e), "广州", "芒果"); dataset.addValue((double)e/(a+b+c+d+e), "广州", "荔枝"); JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图", "水果", "销量", dataset, PlotOrientation.VERTICAL, false, false, false); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setForegroundAlpha(0.9f); NumberAxis verticalAxis = (NumberAxis) plot.getRangeAxis(); verticalAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); verticalAxis.setVisible(false); CategoryPlot categoryplot = chart.getCategoryPlot(); categoryplot.setNoDataMessage("!");
CustomRenderer customrenderer = new CustomRenderer(new Paint[] { Color.red, Color.blue, Color.yellow, Color.orange, Color.green, Color.cyan, Color.magenta, Color.blue }); NumberFormat nfP = NumberFormat.getPercentInstance(); nfP.setMaximumFractionDigits(2); //百分数格式 customrenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}",nfP)); customrenderer.setItemLabelsVisible(true); ItemLabelPosition itemlabelposition = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, 0D); customrenderer.setPositiveItemLabelPosition(itemlabelposition); customrenderer.setItemLabelFont(new Font("", Font.PLAIN, 36)); categoryplot.setRenderer(customrenderer);
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 100, chart, 800, 600, null); %>
|