📄 createbar3dmodel.java
字号:
package com.kai.jfc;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis3D;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.TextAnchor;
import com.kai.bean.DateBean;
/**
* 类文件:CreateBarModel.java
* @author 作者: 王凯 E-mail: wk1025@126.com
* @version 创建时间:Sep 9, 2008 2:11:52 PM
* 类 CreateBarModel 的作用:
*/
public class CreateBar3DModel
{
public String createChart(HttpSession session, PrintWriter pw)
{
String fileName = null;
CategoryDataset categorydataset = this.createDataset();
JFreeChart jfreechart = ChartFactory.createStackedBarChart3D("Stacked Bar Chart 3D Demo 1", "200?年?月---200?年?月的对比", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
CategoryAxis3D a = (CategoryAxis3D) categoryplot.getDomainAxis();
a.setTickLabelsVisible(false);//不显示X轴的坐标值
barrenderer.setDrawBarOutline(false);
barrenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
barrenderer.setItemLabelsVisible(true);
barrenderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
barrenderer.setNegativeItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
try
{
fileName = ServletUtilities.saveChartAsPNG(jfreechart, 450, 400, info,session);// 生成图片
ChartUtilities.writeImageMap(pw, fileName, info, false);
} catch (IOException e) {
e.printStackTrace();
}
pw.flush();
return fileName;// 返回生成图片的文件名
}
public Connection getConn()
{
//172.16.36.245
String url = "jdbc:mysql://localhost:3306/newdatabase";
String u = "root";
String p = "123456";
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection conn = null;
try {
conn = java.sql.DriverManager.getConnection(url, u, p);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public List getDate()
{
Connection conn = this.getConn();
ArrayList list = new ArrayList();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from q91");
while(rs.next())
{
DateModel date = new DateModel();
date.setName("山东");
date.setData(rs.getDouble("shandong"));
date.setDate(rs.getString("t"));
DateModel date1 = new DateModel();
date1.setName("北京");
date1.setData(rs.getDouble("beijing"));
date1.setDate(rs.getString("t"));
list.add(date);
list.add(date1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public static void main(String[] args)
{
List list = new CreateBar3DModel().getDate();
for(int i = 0;i<list.size();i++){
DateModel date = (DateModel)list.get(i);
System.out.println(date.getName());
}
}
public CategoryDataset createDataset()
{
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
List list = this.getDate();
for(int i = 0;i<list.size();i++)
{
DateModel date = (DateModel)list.get(i);
defaultcategorydataset.addValue(date.getData(), date.getName(), date.getDate());
}
// defaultcategorydataset.addValue(11D, "上海", "C29");
return defaultcategorydataset;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -