<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="org.jfree.chart.ChartFactory"%>
<%@ page import="org.jfree.chart.ChartUtilities"%>
<%@ page import="org.jfree.chart.JFreeChart"%>
<%@ page import="org.jfree.chart.plot.PlotOrientation"%>
<%@ page import="org.jfree.data.category.DefaultCategoryDataset"%>
<%@ page import="java.awt.Color"%>
<%@ page import="org.jfree.chart.renderer.category.BarRenderer3D"%>
<%@ page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"%>
<%@ page import="org.jfree.chart.axis.CategoryAxis"%>
<%@ page import="org.jfree.chart.plot.CategoryPlot"%>
<%@ page import="java.awt.*"%>
<%@ page import="org.jfree.chart.title.TextTitle"%>
<%@ page import="org.jfree.chart.axis.NumberAxis"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>油井信息柱形图</title>
</head>
<body>
<%
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(150, " 一号井 ", " 一月份 ");
dataset.addValue(530, " 二号井 ", " 一月份 ");
dataset.addValue(160, " 三号井 ", " 一月份 ");
dataset.addValue(120, " 一号井 ", " 二月份 ");
dataset.addValue(230, " 二号井 ", " 二月份 ");
dataset.addValue(360, " 三号井 ", " 二月份 ");
dataset.addValue(600, " 一号井 ", " 三月份 ");
dataset.addValue(430, " 二号井 ", " 三月份 ");
dataset.addValue(560, " 三号井 ", " 三月份 ");
dataset.addValue(400, " 一号井 ", " 四月份 ");
dataset.addValue(530, " 二号井 ", " 四月份 ");
dataset.addValue(660, " 三号井 ", " 四月份 ");
dataset.addValue(500, " 一号井 ", " 五月份 ");
dataset.addValue(630, " 二号井 ", " 五月份 ");
dataset.addValue(430, " 三号井 ", " 五月份 ");
String title = "这是柱状图标题";
String x = "X轴标题";
String y = "Y轴标题";
JFreeChart chart = ChartFactory.createBarChart3D(
title,
x,
y,
dataset,
PlotOrientation.VERTICAL, true, false, false);
chart.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = chart.getCategoryPlot();
//设置字体,不然会中文乱码的
TextTitle subtitle = new TextTitle("", new Font("黑体",Font.BOLD, 12));
chart.addSubtitle(subtitle);
chart.setTitle(new TextTitle(title, new Font("隶书", Font.ITALIC, 25)));
//副标题
//TextTitle subtitle = new TextTitle("副标题", new Font("黑体", Font.BOLD,12));
//chart.addSubtitle(subtitle);
NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
CategoryAxis domainAxis = plot.getDomainAxis();
//设置X轴坐标上的文字
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
//设置X轴的标题文字
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
//设置Y轴坐标上的文字
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
//设置Y轴的标题文字
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
//底部汉字乱码的问题
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
plot.setDomainAxis(domainAxis);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.BLACK);
// 设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
// 显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
// 设置柱的透明度
plot.setForegroundAlpha(0.8f);
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), chart,
1000, 450);
%>
</body>
</html>
评论0