📄 testjfreechart.java
字号:
package cn.edu.chu.util;
import java.io.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.jfree.data.*;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
/**
* 该类用于演示最简单的柱状图生成
*
* @author Winter Lau
*/
public class TestJfreeChart {
public static void go() {
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D("产品销量图", // 图表标题
"产品", // 目录轴的显示标签
"销量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream(
"D:\\wordpace\\ShoppingTest\\WebRoot\\admin\\images\\SalesCount.jpg");
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 400, 300, null);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();
} catch (Exception e1) {
}
}
}
public static void main(String[] args) {
go();
}
/**
* 获取一个演示用的简单数据集对象
*
* @return
*/
private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Connection conn = null;
ResultSet rs = null;
try {
conn = DB.getConn();
String sql = "select p.name,sum(pcount) from product p join salesitem si on (p.id=si.productid) group by p.id";
System.out.println(sql);
rs = DB.executeQuery(conn, sql);
while (rs.next()) {
dataset.addValue(rs.getInt(2), "", rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DB.close(rs);
DB.close(conn);
}
return dataset;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -