JFreeChart图表工具的使用(条形图、饼状图)
2014-06-07 14:12
465 查看
JFreeCHart是一个开源半免费的工具,可以用来生成饼状图,柱状图,线型图等图片。
优点是代码简单,可以生成jpg或png图片
缺点是不能与用户交互。
条形图
优点是代码简单,可以生成jpg或png图片
缺点是不能与用户交互。
import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; import com.opensymphony.xwork2.ActionSupport; public class JFreeAction extends ActionSupport { private JFreeChart chart; public JFreeChart getChart() { return chart; } public void setChart(JFreeChart chart) { this.chart = chart; } public String execute() throws Exception { // 先建立数据集合对象 DefaultPieDataset dataset = new DefaultPieDataset(); // 这里随机生成 Random r = new Random(); // 加入数据,类似Map的形式来加入 dataset.setValue("Java方向", r.nextInt(100) + 50); dataset.setValue("C/C++方向", r.nextInt(50) + 20); dataset.setValue("php方向", r.nextInt(50) + 20); dataset.setValue("C#方向", r.nextInt(20) + 10); // 建立核心操作对象 chart = ChartFactory.createRingChart("发展方向统计图", dataset, true, false, false); chart.getPlot().setForegroundAlpha(0.5f); return "suc"; } }
条形图
import java.io.File; import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; public class BarTest { public static void main(String[] args) throws Exception { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); Random r = new Random(); for (int i = 1; i <= 6; i++) { dataset.addValue(r.nextInt(5000) + 3000, "工资收入", i + "月"); dataset.addValue(r.nextInt(7000) + 1000, "奖金收入", i + "月"); dataset.addValue(r.nextInt(5000), "摆摊收入", i + "月"); } JFreeChart chart = ChartFactory.createAreaChart("某人半年收入统计", "月份", "金额", dataset, PlotOrientation.VERTICAL, true, false, false); chart.getPlot().setForegroundAlpha(0.5f); ChartUtilities .saveChartAsJPEG(new File("D:/bar.jpg"), chart, 1000, 600); } }饼状图
import java.util.Random;
import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class PieTest { public static void main(String[] args) throws Exception { // 先建立数据集合对象 DefaultPieDataset dataset = new DefaultPieDataset(); // 这里随机生成 Random r = new Random(); // 加入数据,类似Map的形式来加入 dataset.setValue("Java方向", r.nextInt(100) + 50); dataset.setValue("C/C++方向", r.nextInt(50) + 20); dataset.setValue("php方向", r.nextInt(50) + 20); dataset.setValue("C#方向", r.nextInt(20) + 10); // 建立核心操作对象 JFreeChart chart = ChartFactory.createRingChart("发展方向统计图", dataset, true, false, false); chart.getPlot().setForegroundAlpha(0.5f); // 导出 ChartUtilities.saveChartAsJPEG(new File("D:/pie.jpg"), chart, 600, 600); } }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="root" namespace="/" extends="jfreechart-default"> <action name="jfree" class="com.action.JFreeAction"> <result name="suc" type="chart"> <param name="height">600</param> <param name="width">600</param> </result> </action> </package> </struts>
相关文章推荐
- Web图表开发工具JFreeChart与ChartDirector使用评测
- Web图表开发工具JFreeChart与ChartDirector使用评测
- 使用 JFreeChart来创建基于web的图表(转自IBM)
- 使用JFreeChart来创建基于web的带交互功能的PIE图表(一)
- 使用JFreeChart创建图表
- 使用 JFreeChart来创建基于web的图表
- 使用 JFreeChart来创建基于web的图表
- 使用 JFreeChart来创建基于web的图表
- 使用 JFreeChart来创建基于web的图表
- 使用Jfreechart开发图表应用程序
- 使用 JFreeChart来创建基于web的图表
- JFreechart tips:使用applet来显示图表
- 使用JFreeChart来创建基于web的带交互功能的PIE图表(二)
- 使用Antlr和JfreeChart实现项目源代码行数计算图表
- 使用 JFreeChart来创建基于web的图表
- ChartDirector与JFreeChart两款主要web图表工具调研报告
- 使用JFreeChart生成热点图表
- 使用 JFreeChart来创建基于web的图表
- 使用 JFreeChart来创建基于web的图表
- 使用 JFreeChart来创建基于web的图表