JFreeChart


<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.axis.AxisLocation"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.data.*"%>
<%@ page import ="java.text.DecimalFormat"%>
<%@ page import ="java.text.NumberFormat"%>
<%@ page import ="java.awt.Color"%>
<%@ page import="java.awt.Font"%>
<%@ page import="org.jfree.chart.renderer.category.*"%>
<%@ page import="org.jfree.chart.axis.*"%>
<%@ page import="org.jfree.chart.title.TextTitle"%>
<%@ page import="org.jfree.chart.labels.*"%>
<%@page import="org.jfree.data.category.*"%>
<%@page import="org.jfree.chart.plot.PlotOrientation"%>
<%@page import="org.jfree.chart.servlet.ServletUtilities"%>
<%
CategoryDataset dcd= getDataset();


JFreeChart chart= ChartFactory.createStackedBarChart3D("各部门参加培训情况", "部门", "人数",
dcd, PlotOrientation.VERTICAL, true, false, false);

// 图例字体清晰
//chart.setTextAntiAlias(false);
//chart.setBackgroundPaint(Color.WHITE);
// 2 .2 主标题对象 主标题对象是 TextTitle 类型
//chart .setTitle(new TextTitle("ok", new Font("隶书", Font.BOLD, 25)));
// 2 .2.1:设置中文 // x,y轴坐标字体
Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);
// 2 .3 Plot 对象 Plot 对象是图形的绘制结构对象
CategoryPlot plot = (CategoryPlot)chart.getPlot();

ValueAxis rangeAxis = plot.getRangeAxis();
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.15);
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);

StackedBarRenderer3D renderer=new StackedBarRenderer3D();
//renderer.setBaseOutlinePaint(Color.BLACK);

//设置 Wall 的颜色
//renderer.setWallPaint(Color.gray);

//设置每种柱的颜色
renderer.setSeriesPaint(0, new Color(153, 153, 255));
renderer.setSeriesPaint(1, new Color(204, 255, 255));
renderer.setSeriesPaint(2, Color.GREEN);

//显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,9));
renderer.setItemLabelsVisible(true);

plot.setRenderer(renderer);


String filename=ServletUtilities.saveChartAsPNG(chart,500,300,null,session);
String url=request.getContextPath()+"/servletDisplayChart?filename="+filename;

%>
<p align="center">
<img src="<%=url%>" width="500" height="300" border="0" usemap="#map0">
</p>
<%!

private static CategoryDataset getDataset()
{
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(10.399999999999999D, "培训人数", "中心机关");
defaultcategorydataset.addValue(10.800000000000001D, "未培训人数", "中心机关");
defaultcategorydataset.addValue(43.200000000000003D, "培训人数", "物探部");
defaultcategorydataset.addValue(15.6D, "未培训人数", "物探部");
defaultcategorydataset.addValue(23D, "培训人数", "遥感部");
defaultcategorydataset.addValue(11.300000000000001D, "未培训人数", "遥感部");
defaultcategorydataset.addValue(13D, "培训人数", "物业部");
defaultcategorydataset.addValue(11.800000000000001D, "未培训人数", "物业部");
defaultcategorydataset.addValue(15, "培训人数", "企业部");
defaultcategorydataset.addValue(12D, "未培训人数", "企业部");
return defaultcategorydataset;
}

%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值