简单说明
10年前写的示例,一直存在电脑上,我觉得可以发出来,大家参考参考吧
ChartDataDao.java
package com.dowhere.manager;
import java.util.Date;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.data.xy.DefaultOHLCDataset;
import org.jfree.data.xy.OHLCDataItem;
import org.jfree.data.xy.OHLCDataset;
public class ChartDataDao {
//饼状图
public PieDataset createPieDateset(){
DefaultPieDataset p=new DefaultPieDataset();
p.setValue("java语言 ", 100);
p.setValue("C#语言 ", 50);
p.setValue("C语言 ", 80);
p.setValue("sql语言 ", 60);
p.setValue("php语言 ", 70);
return p;
}
//线性
public OHLCDataset createOHLCDataset(){
OHLCDataItem item1=new OHLCDataItem(new Date(), 50, 20, 20, 20, 80);
OHLCDataItem item2=new OHLCDataItem(new Date(), 20, 20, 60, 20, 10);
OHLCDataItem item3=new OHLCDataItem(new Date(), 30, 30, 10, 30, 70);
OHLCDataItem item4=new OHLCDataItem(new Date(), 40, 40, 80, 30, 10);
DefaultOHLCDataset hmd=new DefaultOHLCDataset("accp", new OHLCDataItem[]{item1,item2,item3,item4});
return hmd;
}
//柱状图的数据
public CategoryDataset createCategoryDataset(){
// row keys...
String series1 = "第一个";
String series2 = "第二个 ";
String series3 = "第三个";
// column keys...
String category1 = "Category 1";
String category2 = "Category 2";
String category3 = "Category 3";
String category4 = "Category 4";
String category5 = "Category 5";
// create the dataset...
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, series1, category1);
dataset.addValue(4.0, series1, category2);
dataset.addValue(3.0, series1, category3);
dataset.addValue(5.0, series1, category4);
dataset.addValue(5.0, series1, category5);
dataset.addValue(5.0, series2, category1);
dataset.addValue(7.0, series2, category2);
dataset.addValue(6.0, series2, category3);
dataset.addValue(8.0, series2, category4);
dataset.addValue(4.0, series2, category5);
dataset.addValue(4.0, series3, category1);
dataset.addValue(3.0, series3, category2);
dataset.addValue(2.0, series3, category3);
dataset.addValue(3.0, series3, category4);
dataset.addValue(6.0, series3, category5);
return dataset;
}
}
BarChartServlet.java
package com.dowhere.servlet;
import java.awt.Font;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import com.dowhere.manager.ChartDataDao;
public class BarChartServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/png;charset=GB2312");
response.setCharacterEncoding("GB2312");
ChartDataDao d=new ChartDataDao();
//JFreeChart jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
// create the chart...
JFreeChart chart = ChartFactory.createBarChart(
"柱状图列表", // chart title
"Category", // domain axis label
"Value", // range axis label
d.createCategoryDataset(), // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips?
false // URLs?
);
CategoryPlot p=(CategoryPlot)chart.getPlot();
p.setNoDataMessageFont(new Font("黑体",12,12));
//p.setLabelFont(new Font("黑体",12,12));
//p.setCircular(false);
//p.setLabelGap(0.002D);
ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 600, 400);
}
}
OHLCDatasetServlet.java
package com.dowhere.servlet;
import java.awt.Font;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import com.dowhere.manager.ChartDataDao;
public class OHLCDatasetServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/png");
response.setCharacterEncoding("UTF-8");
ChartDataDao d=new ChartDataDao();
//JFreeChart jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
JFreeChart jfc=ChartFactory.createHighLowChart("title", "ssss", "aaaa", d.createOHLCDataset(), true);
jfc.setTitle("你好");
PiePlot p=(PiePlot)jfc.getPlot();
p.setLabelFont(new Font("黑体",12,12));
p.setCircular(false);
p.setLabelGap(0.002D);
ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfc, 600, 400);
}
}
PieDatasetServlet.java
package com.dowhere.servlet;
import java.awt.Font;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import com.dowhere.manager.ChartDataDao;
public class PieDatasetServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/png");
response.setCharacterEncoding("UTF-8");
ChartDataDao d=new ChartDataDao();
JFreeChart jfc=ChartFactory.createPieChart3D("test第三 report",d.createPieDateset(),true,true,true);
jfc.setTitle("你好");
PiePlot p=(PiePlot)jfc.getPlot();
p.setLabelFont(new Font("黑体",12,12));
p.setCircular(false);
p.setLabelGap(0.002D);
ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfc, 600, 400);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>PieDatasetServlet</servlet-name>
<servlet-class>com.dowhere.servlet.PieDatasetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PieDatasetServlet</servlet-name>
<url-pattern>/pie</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>OHLCDatasetServlet</servlet-name>
<servlet-class>com.dowhere.servlet.OHLCDatasetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OHLCDatasetServlet</servlet-name>
<url-pattern>/ohlc</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>BarChartServlet</servlet-name>
<servlet-class>com.dowhere.servlet.BarChartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BarChartServlet</servlet-name>
<url-pattern>/bar</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Java入门视频学习地址:
https://edu.csdn.net/course/play/25125/292197
Linux视频学习地址:
https://edu.csdn.net/course/play/25603/307048
Oracle视频学习地址
https://edu.csdn.net/course/play/25785/313742