⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 barchart.java

📁 上网计费系统,适用网吧或者自己学习用用JAVA写成
💻 JAVA
字号:
package com.briup.chart;

import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;

import com.briup.dao.bean.Nasmonth;
import com.briup.dao.bean.Nasyear;


public class BarChart {
	public void createChart(String type, OutputStream os, List barValues,
			String title, String xTitle, String yTitle, int width, int height)
			throws IOException {
		DefaultCategoryDataset dataset = getDefaultCategoryDataset(type,
				barValues);
		JFreeChart chart = ChartFactory.createBarChart3D("", xTitle, yTitle,
				dataset, PlotOrientation.VERTICAL, false, false, false);
		TextTitle st = new TextTitle(title, new Font("宋体", Font.BOLD, 12));
		chart.addSubtitle(st);
		chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000,
				Color.blue));
		ChartUtilities.writeChartAsJPEG(os, 1.0f, chart, width, height, null);
	}

	private DefaultCategoryDataset getDefaultCategoryDataset(String type,
			List barValues) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		Iterator iter = barValues.iterator();
		if (type.equals("monthnum")) {
			while (iter.hasNext()) {
				Nasmonth bmonth = (Nasmonth) iter.next();
				dataset.addValue(bmonth.getOnlineUsers(), "", Integer
						.toString(bmonth.getOndate().getDate()));
			}
		} else if (type.equals("monthflux")) {
			while (iter.hasNext()) {
				Nasmonth nasmonth = (Nasmonth) iter.next();
				dataset.addValue(nasmonth.getFlux(), "", Integer
						.toString(nasmonth.getOndate().getDate()));
				System.out.println("getday:" + nasmonth.getOndate().getDate());
			}
		} else if (type.equals("yearnum")) {
			while (iter.hasNext()) {
				Nasyear nasyear = (Nasyear) iter.next();
				dataset.addValue(nasyear.getOnlineUsers(), "", Integer
						.toString(nasyear.getOndate().getMonth() + 1));
			}
		} else if (type.equals("yearflux")) {
			while (iter.hasNext()) {
				Nasyear nasyear = (Nasyear) iter.next();
				dataset.addValue(nasyear.getFlux(), "", Integer
						.toString(nasyear.getOndate().getMonth() + 1));
			}
		}
		return dataset;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -