- 浏览: 598793 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zhjw009:
您是不是在2012年做过spark IM 的二次开发?最近公司 ...
一个相当不错的swing开源皮肤包Look&Feel(Substance) -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
jquery自动补全例子 -
DEMONU:
什么鸟,看不懂
JAVA实现负载均衡 -
higherzjm:
这个跟负载均衡有什么关系啊,求解答
JAVA实现负载均衡 -
HAO_FISH:
import java.*;
JTree,将树的每个节点设置成不同的图标
例子:
http://blog.csdn.net/Ami121/category/394379.aspx
饼图:
折线图:
曲线图:
http://blog.csdn.net/Ami121/category/394379.aspx
饼图:
class BChart{ public static void main(String[] args){ PieDataset dataset = getDataSet();//设置数据源 JFreeChart chart = ChartFactory.createPieChart3D( "时延分布统计图", // chart title dataset,// data true,// include legend true, false ); PiePlot3D plot=(PiePlot3D)chart.getPlot(); // 图片中显示百分比:默认方式 //plot.setLabelGenerator(new StandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT)); // 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位 plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})", NumberFormat.getNumberInstance(), new DecimalFormat("0.00%"))); // 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例 plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}({2})")); // 设置背景色为白色 chart.setBackgroundPaint(Color.white); // 指定图片的透明度(0.0-1.0) plot.setForegroundAlpha(1.0f); // 指定显示的饼图上圆形(false)还椭圆形(true) plot.setCircular(true); // 设置图标题的字体 Font font = new Font(" 黑体",Font.CENTER_BASELINE,20); TextTitle title = new TextTitle(" 时延分布统计图"); title.setFont(font); chart.setTitle(title); FileOutputStream fos_jpg = null; try { fos_jpg=new FileOutputStream("D:\\时延分布统计图.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,640,480,null); fos_jpg.close(); } catch (Exception e) { } } private static PieDataset getDataSet()//数据源构造 { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("login.jsp",50); dataset.setValue("reg.jsp",60); return dataset; } }
折线图:
class ZChart{ public static void main(String[] args) { JFreeChart chart = ChartFactory.createXYLineChart("固定uri时延分布图", "历次访问点", "时延/ms", createDataSet(special), PlotOrientation.VERTICAL, true, true, false); FileOutputStream fos_jpg = null; try { fos_jpg=new FileOutputStream("D:\\mao.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,640,480,null); fos_jpg.close(); } catch (Exception e) { } } private static XYSeriesCollection createDataSet() {//数据源构造方法 XYSeriesCollection seriesCollection = new XYSeriesCollection(); XYSeries series1 = new XYSeries("login.jsp"); seriesCollection.addSeries(series1); series1.add(1, 75); series1.add(2, 41); series1.add(3, 39); series1.add(4, 33); series1.add(5, 25); series1.add(6, 36); seriesCollection.addSeries(series1); return seriesCollection; } }
曲线图:
import java.awt.Color; import java.awt.Font; import java.io.IOException; import java.io.PrintWriter; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; 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.DateAxis; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.entity.StandardEntityCollection; import org.jfree.chart.labels.StandardXYToolTipGenerator; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.chart.title.LegendTitle; import org.jfree.chart.title.TextTitle; import org.jfree.data.time.Day; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.xy.XYDataset; import org.jfree.ui.RectangleInsets; /** * 曲线图的绘制 */ public class LineXYChart { /** * 返回生成图片的文件名 * * @param session * @param pw * @return 生成图片的文件名 */ public String getLineXYChart(HttpSession session, PrintWriter pw,ArrayList data) { XYDataset dataset = this.createDateSet(data);// 建立数据集 String fileName = null; // 建立JFreeChart JFreeChart chart = ChartFactory.createTimeSeriesChart( "销售时间曲线序列图", // title "Date", // x-axis label "Price", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); // 设置JFreeChart的显示属性,对图形外部部分进行调整 chart.setBackgroundPaint(Color.red);// 设置曲线图背景色 // 设置字体大小,形状 Font font = new Font("宋体", Font.BOLD, 12); TextTitle title = new TextTitle("销售时间曲线序列图", font); chart.setTitle(title); // 副标题 //TextTitle subtitle = new TextTitle(deptname, new Font("黑体", Font.BOLD, 12)); //chart.addSubtitle(subtitle); chart.setTitle(title); // 标题 // 设置图示标题字符 // TimeSeries s1 = new TimeSeries("历史曲线", Day.class);该中文字符 LegendTitle legengTitle = chart.getLegend(); legengTitle.setItemFont(font); XYPlot plot = (XYPlot) chart.getPlot();// 获取图形的画布 plot.setBackgroundPaint(Color.lightGray);// 设置网格背景色 plot.setDomainGridlinePaint(Color.green);// 设置网格竖线(Domain轴)颜色 plot.setRangeGridlinePaint(Color.white);// 设置网格横线颜色 plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));// 设置曲线图与xy轴的距离 plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); XYItemRenderer r = plot.getRenderer(); if (r instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r; renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); renderer.setShapesVisible(true);// 设置曲线是否显示数据点 } // 设置Y轴 NumberAxis numAxis = (NumberAxis) plot.getRangeAxis(); NumberFormat numFormater = NumberFormat.getNumberInstance(); numFormater.setMinimumFractionDigits(2); numAxis.setNumberFormatOverride(numFormater); // 设置提示信息 StandardXYToolTipGenerator tipGenerator = new StandardXYToolTipGenerator( "历史信息{1} 16:00,{2})", new SimpleDateFormat("MM-dd"), numFormater); r.setToolTipGenerator(tipGenerator); // 设置X轴(日期轴) DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("MM-dd")); ChartRenderingInfo info = new ChartRenderingInfo( new StandardEntityCollection()); try { fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);// 生成图片 // Write the image map to the PrintWriter ChartUtilities.writeImageMap(pw, fileName, info, false); } catch (IOException e) { e.printStackTrace(); } pw.flush(); return fileName;// 返回生成图片的文件名 } private XYDataset createDateSet(ArrayList al) { TimeSeriesCollection dataset = new TimeSeriesCollection();// 时间曲线数据集合 TimeSeries s1 = new TimeSeries("销售曲线", Day.class);// 创建时间数据源,每一个//TimeSeries在图上是一条曲线 // s1.add(new Day(day,month,year),value),添加数据点信息 HashMap hm = null; for (Iterator it = al.iterator(); it.hasNext();) { hm = (HashMap) it.next(); String day=hm.get("day_nr").toString(); if(day.indexOf("总计")>-1){ }else{ int day_nr=Integer.parseInt(day); int zmonth=Integer.parseInt(hm.get("zmonth").toString()); int zyear=Integer.parseInt(hm.get("zyear").toString()); int value=Integer.parseInt(hm.get("netwr").toString()); s1.add(new Day(day_nr, zmonth, zyear),value ); } } // s1.add(new Day(1, 2, 2006), 123.51); // s1.add(new Day(2, 2, 2006), 122.1); // s1.add(new Day(3, 2, 2006), 120.86); // s1.add(new Day(4, 2, 2006), 122.50); // s1.add(new Day(5, 2, 2006), 123.12); // s1.add(new Day(6, 2, 2006), 123.9); // s1.add(new Day(7, 2, 2006), 124.47); // s1.add(new Day(8, 2, 2006), 124.08); // s1.add(new Day(9, 2, 2006), 123.55); // s1.add(new Day(10, 2, 2006), 122.53); dataset.addSeries(s1); dataset.setDomainIsPointsInTime(true); return dataset; } }
发表评论
-
java中如何使用amcharts(转)
2010-09-19 21:03 3400最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询, ... -
几款前端开源flash报表比较
2010-09-19 20:58 22061.YUI(Ext)-chart 官网:http://deve ... -
amChart报表(号称最强大的chart组件)
2010-09-19 20:56 2403amChart称最强大的chart组件,官方甚至提供了在线配置 ... -
open-flash-chart 和 FusionCharts Free 探究
2010-09-03 15:39 1587open-flash-chart 和 FusionCharts ... -
open-flash-chart2系列教程
2010-09-02 23:27 1715open-flash-chart2系列教程 -
Flash图表工具FusionChart
2010-09-02 22:47 1227Flash图表工具FusionChart 官方网站:http ... -
Open Flash Chart组件的使用
2010-09-02 22:46 1050Open Flash Chart组件的使用 简介 官方:ht ... -
jfreechart学习资料
2010-09-02 22:37 997jfreechart学习资料 -
又见jfreechart例子
2010-09-02 22:26 1154JFreeChart画雷达图、带刻度雷达图、蜘蛛网、带刻度蜘蛛 ... -
JFreeChat 中文乱码、汉字乱码的解决方案
2010-09-02 22:22 1597出现乱码的原始程序如下 查看复制到剪切板打印 import ... -
jFreeChart 在jsp页上实现简单的折线图、柱状图
2010-09-02 22:19 1395创建柱状图 1 引入jFreechart的包 jcommo ...
相关推荐
**JFreeChart 实例详解** JFreeChart 是一个强大的开源Java图表库,它提供了一种简单的方法来创建高质量的图表,包括线图、柱状图、饼图、散点图等,广泛应用于Java应用程序和Web应用中。在这个实例中,我们将深入...
**JFreeChart 实例详解** JFreeChart 是一个强大的开源Java库,用于生成高质量的图表。这个库广泛应用于各种项目,包括数据可视化、报表生成、应用程序界面和网页设计。在本篇文章中,我们将深入探讨JFreeChart的...
在本实例中,"jFreeChart实例(带数据库和文档)" 提供了一个实际的项目案例,展示了如何将jFreeChart与数据库结合使用,并且包含相关的文档以帮助理解。这对于我们学习和掌握jFreeChart的使用方法非常有价值。 ...
**JFreeChart 实例教程与应用详解** JFreeChart 是一个功能强大的 Java 图表库,它为开发者提供了创建各种高质量图表的能力,包括折线图、柱状图、饼图、散点图、甘特图等。这个教程将帮助你深入理解和使用 ...
**JFreeChart 实例:深入理解曲线图** JFreeChart 是一个开源的 Java 图形库,它为开发者提供了丰富的图表绘制功能,包括柱状图、饼图、散点图、曲线图等多种图表类型。对于初学者来说,掌握 JFreeChart 的使用能够...
2. **创建 JFreeChart 实例**:然后使用 `ChartFactory` 创建 `JFreeChart` 实例,传入图表类型、标题、X轴标签、Y轴标签以及数据集。 3. **自定义属性**:根据需求,你可以调整图表的各种属性,如背景色、坐标轴...
**JFreeChart 实例:Java 生成分布图** JFreeChart 是一个强大的开源 Java 图形库,用于生成高质量的图表,包括饼图、柱状图、线图、散点图、甘特图等多种类型,广泛应用于数据分析和可视化场景。本实例主要介绍...
《jFreeChart实例解析与应用》 在Java编程世界中,数据可视化是一个至关重要的环节,它能够帮助我们更好地理解和分析数据。jFreeChart作为一个强大的开源图表库,为Java开发者提供了丰富的图表类型和高度自定义的...
**JFreeChart 实例详解** JFreeChart 是一个流行的开源Java库,用于生成高质量的图表。这个库提供了各种图表类型,如柱状图、饼图、线形图、散点图、甘特图等,广泛应用于数据分析、报表生成以及Web应用中。在本...
这个"jfreechart实例demo"压缩包很可能是包含了一些示例代码,帮助开发者更好地理解和应用JFreeChart库。 在深入JFreeChart之前,我们先来了解一下什么是图表。图表是一种视觉表示数据的方式,它能够清晰地展示数据...
**jFreeChart实例教程** **一、jFreeChart简介** jFreeChart是一个强大的开源Java库,专门用于生成高质量的图表。它支持多种图表类型,包括柱状图、饼图、线形图、散点图、面积图、甘特图、热力图以及3D图表等。...
这个实例代码详细注释的压缩包文件提供了学习和理解JFreeChart使用的宝贵资源。以下是对JFreeChart及其相关知识点的详细讲解: 1. **JFreeChart简介**:JFreeChart是一个开源项目,它为Java开发者提供了一套完整的...