转载于:http://blog.csdn.net/Mr_IT/archive/2005/12/04/543279.aspx
jfreechart使用经验总结(针对版本:jfreechart-1.0.0-pre2.zip)
问题一:在每次生成 jfreechar图片的时候都会抛出异常,异常指出问题出在ChartFactory.createXYLineChart(picName, "时间轴", "数据", xydataset,true, true, false)这行代码上(或create其他类型的chart)
分析:由于jfreechart用到的画图库是Java AWT,所以需要确保JVM运行在headless模式下。如果在Unix系统中使用jfreechar,需要在tomcat的bin目录下 catalina.sh文件中run和start两处添加-Djava.awt.headless=true \
问题二:在Unix系统下生成的jfreechart图片中的中文出现乱码
分析:乱码有两种情况:
一种是中文显示为问号(?),这种情况一般是由于汉字编码转换出错。需要对Unix系统中当前用户的.cshrc文件中setenv LC_CTYPE iso_8859_1修改为setenv LC_CTYPE zh即可。
一种是中文显示为方框(□),这种情况一般是由于jfreechart中用到的字体在当前Unix系统中不存在。jfreechart包中所用到的所有字体如下:
new Font("SansSerif", 1, 12)
new Font("foo", 1, 9)
new Font("Arial", 0, 10)
new Font("Dialog", 0, 12)
new Font("Bitstream Vera Sans", 0, 11)
其中new Font("Bitstream Vera Sans", 0, 11)字体用于对各颜色线条的注释信息,Unix系统中一般不存在这种字体,需要安装该字体或者修改package org.jfree.chart.block中LabelBlock文件的构造函数中所出现的这种字体。
问题三:jfreechart生成的图片时间轴中时间的显示格式问题
分析:在生成两组或者多组数据的chart时,分为以下两种情况:
一种是X和Y轴数据都仅仅只是数据,则可以直接使用ChartFactory.createXYLineChart(picName, "X轴数据", "Y轴数据", xydataset,true, true, false),xydataset是通过XYSeriesCollection收集XYSeries获取的数据生成:
XYSeries[] xyseries=new XYSeries[count];
for(int i = 0; i < count; i ++){
xyseries[i] = new XYSeries(name[i]);
}
xyseries[1].add(double arg0,double arg1);
xyseries[2].add(double arg0,double arg1);
两组数据都必须以双精度格式传入,在chart图中的X和Y轴数据也都会以双精度格式显示。
一种是X轴数据是时间,Y轴数据为与这个时间对应的一个有一定精确度的数据,这种情况就得使用 ChartFactory.createTimeSeriesChart(picName, "时间轴", "数据", xydataset,true, true, false),xydataset是通过TimeSeriesCollection收集TimeSeries获取的数据生成:
TimeSeries timeseries[] = new TimeSeries[count];
for(int i = 0; i < count; i ++){
timeseries[i] = new TimeSeries(name[i],Minute.class);
}
timeseries[0].addOrUpdate(new Minute(minute,hour,date,month,year), double arg1);
timeseries[1].addOrUpdate(new Minute(minute,hour,date,month,year), double arg1);
(注:这里使用addOrUpdate而不使用add是有原因的,如果使用add的话,送入一次数据,生成一个chart图片,当下一次其他某个地方再调用这个方法生成chart图片的时候,就会报出数据冲突的异常信息,估计是上次送入的数据没有清除掉,所以为了防止这种情况一般都使用addOrUpdate)
两组数据是以(时间,双精度数据)成对送入的,X轴将会是一个时间轴,而且会以通用的时间格式进行显示,显示的时间格式可以在代码中定制,详细代码如下:
DateAxis dateaxis = (DateAxis)xyplot.getDomainAxis();
dateaxis.setDateFormatOverride(new SimpleDateFormat("时间格式"));
还有一个地方需要说明一下,时间轴上显示的时间精度可以根据自己的需要选择设定,最大可以精确到年,最小可以精确到毫秒,设置的位置在 timeseries[i] = new TimeSeries(name[i],Minute.class)代码中,目前精确度设置为分(Minute.class),所有可选精确度如下:Year.class Month.class Week.class Day.class Hour.class Minute.class Seconds.class Millisecond.class,然后在timeseries[0].addOrUpdate(new Minute(minute,hour,date,month,year), double arg1)代码中也做相应调整即可。
分享到:
相关推荐
这个压缩包“jfreechart-1.0.13”包含了JFreeChart的完整版本,让我们一起深入探讨其核心功能和使用方法。 JFreeChart是Java中最优秀的绘图工具之一,它支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特...
**"jfreechart 总结.txt" 和 "JFreeChart.txt"** 文件可能包含了JFreeChart的使用总结、技巧、注意事项或者其他开发者的经验分享,对于学习和使用JFreeChart来说是非常宝贵的参考资料。 总的来说,JFreeChart是一个...
### jfreechart中文学习文档 #### 一、引言 ##### 1.1 JFreeChart 是什么? **1.1.1 概览** ...无论是初学者还是有经验的开发者,都能够通过本文档快速上手并熟练掌握 JFreeChart 的使用技巧。
**JFreeChart是一种广泛使用的Java...总结来说,"JfreeChart各种图形案例"这个资源是一份宝贵的开发工具,无论你是初学者还是有经验的开发者,都可以从中受益,快速掌握JFreeChart的使用技巧,提升你的数据可视化能力。
总结来说,JfreeChart是一个强大的Java图表库,它的灵活性和易用性使得它在数据可视化领域有着广泛的应用。通过深入理解并实践这个示例,你将能够熟练掌握JfreeChart的使用,从而在项目中实现美观且功能齐全的图表...
总结来说,"JFreeChart示例"是一个宝贵的资源,它涵盖了JFreeChart库的广泛功能,可以帮助开发者学习如何在Java应用程序中创建和展示各种图表。通过对"JFreeChartTest"文件的研究,你可以深入了解JFreeChart的工作...
总结,JFreeChart API 手册 CHM版本是Java开发者处理图形化数据的得力助手,通过详细API文档,开发者能够轻松理解和使用JFreeChart的各项功能,实现高质量的图表呈现。无论是初学者还是经验丰富的开发者,都应该充分...
### JFreeChart用户开发指南1.0.6(中文)知识点总结 #### 一、引言 **JFreeChart**是一款强大的Java图表绘制库,它为开发者提供了丰富的API来创建各种类型的图表,如饼图、柱状图、折线图等。本指南详细介绍了...
总结,jFreeChart 1.0.19的源码是一个宝贵的资源,无论你是初学者还是经验丰富的开发者,都可以从中学习到图表绘制的技巧和最佳实践。通过深入研究jFreeChartDemo,你可以提升自己的数据可视化能力,更好地利用...
结合提供的comments和完整demo,无论是初学者还是经验丰富的开发者,都能快速上手并发挥出JFreeChart的强大能力。在实际项目中,善用JFreeChart,可以提升应用程序的用户体验,让数据的呈现更加直观生动。
首先,"JFreeChart使用心得.pdf"这份文档很可能是作者或专家在实际使用JFreeChart过程中积累的经验总结,涵盖了JFreeChart的基本概念、安装配置、图表创建、自定义样式等多个方面。在阅读这份文档时,你可以学习到...
总结,JFreeChart作为一个功能丰富的图表库,为Java开发者提供了强大的数据可视化工具,无论是简单还是复杂的图表需求,都能通过JFreeChart得到满足。其灵活性、可定制性以及跨平台特性,使得它成为Java应用中图表...
总结来说,JFreeChart 是 Java 平台上强大的图表生成库,通过其丰富的功能和详尽的示例,开发者可以快速掌握图表的创建和定制。无论你是初学者还是经验丰富的开发者,都可以利用 JFreeChart 提升你的项目数据可视化...
### Java报表JFreeChart开发知识点总结 #### 1. 简介 ##### 1.1 什么是JFreeChart JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java...
总结起来,JFreeChart 1.0.12是一个可靠且灵活的Java图表库,无论是在小型项目还是大型企业级应用中,都能提供出色的数据可视化能力。它的易用性、全面的功能以及开源许可证,使其成为Java开发者绘制图表时的首选...
总结,JFreeChart 是一个强大且灵活的 Java 图表库,无论你是要快速生成标准图表,还是需要深度定制的可视化解决方案,都能从中受益。通过深入理解和实践,你将能够利用 JFreeChart 创造出引人注目的数据可视化作品...
总结来说,JFreeChart 是 Java 开发者用于创建高质量图表的强大工具,尤其在 Web 应用场景下,结合 Servlet 和 JSP,可以方便地生成动态图表,满足数据分析、监控和报告的需求。这个例子展示了如何实现这一过程,对...
**JFreeChart绘图包详解** 在Java编程领域,数据可视化是一个至关重要的部分,它能够帮助开发者和...无论你是新手还是经验丰富的开发者,掌握JFreeChart都能提升你的数据呈现能力,让数据讲故事变得更加生动和直观。
本文将详细介绍如何使用JFreeChart这一强大的Java图表库来绘制统计分析柱状图,并通过具体的示例来展示其基本用法及一些高级特性。 #### 二、基础概念介绍 JFreeChart是一款开源的Java图表库,支持多种类型的图表...