`

JFreeChart教程二

阅读更多
package test;

import java.awt.Color;   
import java.awt.Dimension;   
import java.awt.Font;   
import java.awt.GradientPaint;   
import java.io.File;
import java.io.IOException;
  
import javax.swing.JPanel;   
  
import org.jfree.chart.ChartFactory;   
import org.jfree.chart.ChartPanel;   
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;   
import org.jfree.chart.axis.CategoryAxis;   
import org.jfree.chart.axis.CategoryLabelPositions;   
import org.jfree.chart.axis.NumberAxis;   
import org.jfree.chart.demo.BarChartDemo1;
import org.jfree.chart.labels.StandardCategorySeriesLabelGenerator;   
import org.jfree.chart.plot.CategoryPlot;   
import org.jfree.chart.plot.PlotOrientation;   
import org.jfree.chart.renderer.category.BarRenderer;   
import org.jfree.data.category.CategoryDataset;   
import org.jfree.data.category.DefaultCategoryDataset;   
import org.jfree.ui.ApplicationFrame;   
import org.jfree.ui.RefineryUtilities;

public class GenerateJpg {
		 
		 private static CategoryDataset createDataset() {   
		   String s = "每日PV";   
		   String s1 = "每日IP数";   
		   String s2 = "注册用户数";   
		   String s3 = "A网站";   
		   String s4 = "B网站";   
		   String s5 = "C网站";   
		   String s6 = "D网站";   
		   String s7 = "E网站";   
		   DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();   
		   defaultcategorydataset.addValue(1.0D, s, s3);   
		   defaultcategorydataset.addValue(4D, s, s4);   
		   defaultcategorydataset.addValue(3D, s, s5);   
		   defaultcategorydataset.addValue(5D, s, s6);   
		   defaultcategorydataset.addValue(5D, s, s7);   
		   defaultcategorydataset.addValue(5D, s1, s3);   
		   defaultcategorydataset.addValue(7D, s1, s4);   
		   defaultcategorydataset.addValue(6D, s1, s5);   
		   defaultcategorydataset.addValue(8D, s1, s6);   
		   defaultcategorydataset.addValue(4D, s1, s7);   
		   defaultcategorydataset.addValue(4D, s2, s3);   
		   defaultcategorydataset.addValue(3D, s2, s4);   
		   defaultcategorydataset.addValue(2D, s2, s5);   
		   defaultcategorydataset.addValue(3D, s2, s6);   
		   defaultcategorydataset.addValue(6D, s2, s7);   
		   return defaultcategorydataset;   
		 }   
		 
		 private static JFreeChart createChart(CategoryDataset categorydataset) {   
		   JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo 1", "网站", "数值",   
		       categorydataset, PlotOrientation.VERTICAL, true, true, false);   
		   CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();   
		   categoryplot.setDomainGridlinesVisible(true);   
		   categoryplot.setRangeCrosshairVisible(true);   
		   categoryplot.setRangeCrosshairPaint(Color.blue);   
		   NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();   
		   numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());   
		   BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();   
		   barrenderer.setBaseItemLabelFont(new Font("宋体", Font.PLAIN, 12));   
		   barrenderer.setSeriesItemLabelFont(1, new Font("宋体", Font.PLAIN, 12));   
		 
		   CategoryAxis domainAxis = categoryplot.getDomainAxis();   
		 
		   /*------设置X轴坐标上的文字-----------*/  
		   domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));   
		 
		   /*------设置X轴的标题文字------------*/  
		   domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));   
		 
		   /*------设置Y轴坐标上的文字-----------*/  
		   numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));   
		 
		   /*------设置Y轴的标题文字------------*/  
		   numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));   
		 
		   /*------这句代码解决了底部汉字乱码的问题-----------*/  
		   jfreechart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));   
		      
		   barrenderer.setDrawBarOutline(false);   
		   GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(   
		       0, 0, 64));   
		   GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F,   
		       new Color(0, 64, 0));   
		   GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(   
		       64, 0, 0));   
		    barrenderer.setSeriesPaint(0, gradientpaint);   
		    barrenderer.setSeriesPaint(1, gradientpaint1);   
		    barrenderer.setSeriesPaint(2, gradientpaint2);   
		    barrenderer.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator(   
		        "Tooltip: {0}"));   
		    CategoryAxis categoryaxis = categoryplot.getDomainAxis();   
		    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions   
		        .createUpRotationLabelPositions(0.52359877559829882D));   
		    return jfreechart;   
		  }   
		   
		  
		  public static void main(String args[]) throws IOException {   
		        ChartUtilities.saveChartAsJPEG( 
	                    new File("c://a.jpg"), GenerateJpg.createChart(GenerateJpg.createDataset()), 500, 500 ); 
		  }   
}

 

分享到:
评论
4 楼 TeddyWang 2011-03-07  
https://login.huawei.com/login/?redirect=http%3A%2F%2F3ms.huawei.com%2F3ms%2F&lang=en&msg=1&v=v3.33
3 楼 TeddyWang 2011-01-27  
IY5PM5DI
2 楼 TeddyWang 2011-01-24  
何枫abc 写道
兄弟你用的也是jfreechart1.0.13是吧!!!你那代码能跑起来吗???你这样很伤人啊!!!
   barrenderer.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator(    
                "Tooltip: {1}"));    0改1啊!这样才能跑吧!!!

我还真不骗你,我已经忘记是什么版本了,但是我当时的需求和这个比较像,我照着这个做了一个……
1 楼 何枫abc 2010-12-14  
兄弟你用的也是jfreechart1.0.13是吧!!!你那代码能跑起来吗???你这样很伤人啊!!!
   barrenderer.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator(    
                "Tooltip: {1}"));    0改1啊!这样才能跑吧!!!

相关推荐

    jfreechart教程

    jfreechart教程 1,jFreeChart产生图形的流程 二、饼图 三、柱状图

    JFreeChart详细中文教程|案例|中文API|乱码解决方法|等集合

    2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括csdn上得优秀案例 ------20+M的数据不要别后悔哦

    JFreeChart教程.doc

    JFreeChart是JFreeChart公司在开源网站... 2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp) 3、JCommon:JFreeReport和JFreeChart的公共类库 4、JFreeDesigner:JFreeReport的报表设计工具

    JFreeChart 详细中文教程 案例 中文API 乱码解决方法

    JFreeChart-1.0.13原文件含jar包。...2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括许多优秀案例

    java/jsp图表生成-JfreeChart套装(源码包,javadoc,安装手册,本人精选简明教程)

    2.JFreeChart:Java 图形解决方案(Application/Applet/Servlet/Jsp) 3.JCommon :JFreeReport和JFreeChart的公共类库 4.JFreeDesigner :JFreeReport的报表设计工具 我们可以从jfree官方网站上获取最新版本和...

    JFreeChart最新版

    JFreeChart打包:JFreeChart.jar库文件,源代码,2本中文使用教程

    jfreechart(柱状图,饼状图...)教程.zip

    项目中用到了一些图,要用JFreeChart生成,参考了一些资料,做了两天,分享一下!里面有柱状图,饼状图...

    jfreechart整合struts2的压缩包

    jfreechart整合struts2的压缩包 其中包括相关jar包和struts2教程文档说明

    JFreeChart实例

    JFreeChart实例,在struts 2中实现柱状图、柱状图3D、饼状图、饼状图3D、折线图、折线图3D

    struts2-tags-文档.rar

    包含三个chm文档:struts2教程,标签tags详解,API

    TutorialsPoint Java 技术教程 20160127

    javafx jdbc jfreechart jmeter jogl jpa log4j lucene maven mybatis poi servlet jsp spring struts2 swing testng tika xstream

    Java Web开发实例大全(基础卷) 完整pdf扫描版[179MB]

    重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery...

    Java Web开发实例大全

    重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery...

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    北风客户关系管理源码 CRM

    跟着视频做的 ,代码原来老师教程视频用的拼音简写字段 和表名 我是把字段都翻译了,自己重做一遍的,我做这个也是感觉,没有代码,一个字母敲挺郁闷的,尤其那个html页面。 说明一点:把数据库导进去后,把端口改好...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    《深入浅出Struts2》是广受赞誉的Struts2优秀教程.它全面而深入地阐述了Strut2的各个特性,并指导开发人员如何根据遇到的问题对症下药。选择使用最合适的特性。作者处处从实战出发。在丰富的示例中直观地探讨了许多...

    java学习阶段所有的API帮助文档

    中文,html5+API中文帮助文档,HTML语言教程,JavaEE6.0_API_帮助文档,JavaEE7-api,JBoss jBPM 3.0,jBPM4.3用户指南,JDK+8.0+EN+API,JDOM_API_帮助文档,JFreeChart+API+文档,jQuery1.3中文参考,JScript 中文...

Global site tag (gtag.js) - Google Analytics