jfreechart柱状图
来源:互联网 发布:区域增长算法改进 编辑:程序博客网 时间:2024/04/26 03:24
1.先在项目张导入jfreechart包
2.在web.xml文件中增加如下配置:
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
3.此项目的运行图片如下:
4.源代码
<%@ 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"%>
<%@page import="java.awt.Font"%>
<%
double[][] data = new double[][] {{1310, 1220, 1110, 1000},
{720, 700, 680, 640},
{1130, 1020, 980, 800},
{440, 400, 360, 300}};
String[] rowKeys = { "pig猪肉", "beef牛肉", "chicken鸡肉", "fish鱼肉" };
String[] columnKeys = { "Guangzhou广州", "Shenzhen深圳", "Dongguan东莞", "Foshan佛山" };
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart3D("肉类销量统计图",
"type类型",
"amount账号",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
chart.getTitle().setFont(new Font("黑体",Font.BOLD,20));//标题字体
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); //底部字体
CategoryPlot plot = chart.getCategoryPlot();
plot.getDomainAxis().setTickLabelFont(new Font("sans-serif", Font.BOLD, 12)); //x轴上的字体
plot.getDomainAxis().setLabelFont(new Font("宋体", Font.BOLD, 20)); //x轴标题上的字体
plot.getRangeAxis().setTickLabelFont(new Font("sans-serif", Font.BOLD, 12)); //y轴上的字体
plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 20)); //y轴标题上的字体
//设置网格背景颜色
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.1);
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 %>">
- JFreeChart -- 柱状图
- jfreechart柱状图
- JFreeChart--柱状图
- JFreeChart中画柱状图
- JFreeChart 生成柱状图
- JFreeChart柱状图(转)
- jfreechart之柱状图
- JFreeChart: 基本柱状图
- JFreeChart生成柱状图
- JFreeChart生成柱状图
- JFreeChart 柱状图参数设置方法
- JFreeChart 笔记(柱状图)
- JFreeChart 柱状图参数设置方法
- jfreechart 柱状图 开发实例
- jfreechart的柱状图处理
- JFreeChart的柱状图实现
- JFreeChart最佳实践:柱状图
- jfreeChart柱状图参数设置
- MFC对话框下面加上时间状态栏
- silverlight post
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析
- Spring JDBC编程式事务+详细实例总结
- Xvfb+YSlow+ShowSlow搭建前端性能测试框架
- jfreechart柱状图
- JSP中的EL表达式详细介绍
- Unity3d 简单显示汉字
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- android Activity中standard singleTop singleTask singleInstance四种加载模式的区别
- .NET下的内存分配机制
- 再次写给我们这些浮躁的程序员
- Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)
- Jquery 设置select(取值,选中)