📄 barchart.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 + -