jfreechart web例子

本文介绍使用JFreeChart库在Web应用中创建3D柱状图的方法。通过示例代码展示了如何设置数据集、图表样式及网格线颜色,并实现数据显示与图片输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jfreechart web 例子,代码如下:

 

<%@ 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.CategoryDataset,org.jfree.data.general.DatasetUtilities,org.jfree.chart.plot.*,org.jfree.chart.labels.*,org.jfree.chart.renderer.category.BarRenderer3D,java.awt.*,org.jfree.ui.*,org.jfree.chart.axis.AxisLocation"%>
<%
   double[][] data = new double[][] { { 1310, 1220, 1110, 1000 },
   { 720, 700, 680, 640 }, { 1130, 1020, 980, 800 },
   { 440, 400, 360, 300 } };
 String[] rowKeys = { "猪肉", "牛肉", "鸡肉", "鱼肉" };
 String[] columnKeys = { "广州", "深圳", "东莞", "佛山" };
 CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
   rowKeys, columnKeys, data);
 JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图", "肉类",
   "销量", dataset, PlotOrientation.VERTICAL, true, true, false);
 CategoryPlot plot = chart.getCategoryPlot();
 //设置网格背景颜色
 plot.setBackgroundPaint(Color.white);
 //设置网格竖线颜色
 plot.setDomainGridlinePaint(Color.pink);
 //设置网格横线颜色
 plot.setRangeGridlinePaint(Color.pink);
 //显示每个柱的数值,并修改该数值的字体属性
 BarRenderer3D renderer = new BarRenderer3D()
 renderer
   .setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
 renderer.setBaseItemLabelsVisible(true);
 //默认的数字显示在柱子中,通过如下两句可调整数字的显示
 //注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题
 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
   ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
 renderer.setItemLabelAnchorOffset(10D);
 //设置每个地区所包含的平行柱的之间距离
 //renderer.setItemMargin(0.3);
 plot.setRenderer(renderer);
 //设置地区、销量的显示位置
 //将下方的“肉类”放到上方
 plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
 //将默认放在左边的“销量”放到右方
 plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
 String filename = ServletUtilities.saveChartAsPNG(chart, 700, 400,
   null, session);
 String graphURL = request.getContextPath()
   + "/DisplayChart?filename=" + filename;
%>
<img src="<%=graphURL%>" width=700 height=400 border=0
 usemap="#<%= filename %>">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值