java源代码:
public class BarChartAction extends DIBaseAction {
public String execute() throws Exception {
//5.0图形的宽和 高
int width = 800;
int height = 360;
//4.0图例的属性对象
LegendProperties legendProperties;
legendProperties = new LegendProperties();
/***************************************************************************************************************/
//3.0图形的XY轴的属性对象
AxisProperties axisProperties;
axisProperties = new AxisProperties( false );
//图表横坐标和纵坐标范围的字体,大小,颜色设置对象
ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );
axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );
axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );
//Bar图形的横坐标和纵坐标的标题字体和颜色 ,大小的设置对象
ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );
axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );
axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );
/***************************************************************************************************************/
DataAxisProperties dataAxisProperties = (DataAxisProperties) axisProperties.getYAxisProperties();
try
{
//设置用户定义的纵轴纵坐标的 间隔范围
dataAxisProperties.setUserDefinedScale( -3000, 3000 );
}
catch( PropertyException propertyException )
{
propertyException.printStackTrace();
}
dataAxisProperties.setRoundToNearest(2);
/***************************************************************************************************************/
//2.0生成图像的属性对象
ChartProperties chartProperties;
chartProperties = new ChartProperties();
//设置图形标题的字体,颜色,大小
ChartFont titleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 14 ), Color.black );
chartProperties.setTitleFont( titleFont );
/***************************************************************************************************************/
/***************************************************************************************************************/
//Bar图形的属性类
BarChartProperties barChartProperties;
barChartProperties = new BarChartProperties();
ValueLabelRenderer valueLabelRenderer = new ValueLabelRenderer( false, false, true, -1 );
valueLabelRenderer.setValueLabelPosition( ValueLabelPosition.ON_TOP );
//是否设置显示的纵坐标标签垂直,true为是,flase为水平
valueLabelRenderer.useVerticalLabels( false );
barChartProperties.addPostRenderEventListener( valueLabelRenderer );
/***************************************************************************************************************/
try
{
//设置横坐标标签
String[] xAxisLabels = {"1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004"};
//设置横坐标的单位
String xAxisTitle = "Years";
//设置纵坐标的标题
String yAxisTitle = "Problems";
//设置图形的标题
String title = "Micro$oft At Work";
/***************************************************************************************************************/
//1.0图形所需要的数据对象
IAxisDataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle, title );
//设置条形数据
double[][] data = new double[][]{{1500, 6880, 4510, 2600, -1200, -1580, 7000, 4555, 4000, 6120}};
//条形区域 形示的标签
String[] legendLabels = {"Bugs"};
//条形区域绘制的颜色设置对象
Paint[] paints = new Paint[]{Color.yellow};
dataSeries.addIAxisPlotDataSet( new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR, barChartProperties ) );
/***************************************************************************************************************/
//产生一个 chart对象
AxisChart axisChart = new AxisChart( dataSeries, chartProperties, axisProperties, legendProperties, width, height );
//输出设置好的chart图形
ServletEncoderHelper.encodeJPEG13( axisChart, 1.0f, response );
}
catch( Throwable throwable )
{
throwable.printStackTrace();
}
return SUCCESS;
}
}
JCharts和JFreeChart比较
JFreeChart
官方网址: http://www.jfree.org/jfreechart/
功能比较完善, 文档需要花钱购买。
最新版本1.0.10(2008年6月), 活跃度较高。
基础图形库, 适用于各种Java环境。
JFreeChart显示效果好一些。
JFreeChart提供了对更多种常用图形的支持。
JFreeChart适合于对图形需求较多并且要求图形具有较强的扩展性的项目。
JCharts
官方网址: http://jcharts.sourceforge.net/
功能比较完善, 有在线文档, 但是文档不是很全面。
最新文档版 0.7.0 (2003年03月)
最后一次更新在2004年,1.0.0 - alpha, 活跃度较低.
基础图形库, 适用于各种Java环境.
JCharts显示效果差一些。
JCharts支持的图形太少。
JCharts更适用于相对小型的项目。
分享到:
相关推荐
总之,jCharts是一个强大的Web报表开发工具,它简化了数据可视化的复杂性,使得开发者可以快速构建出交互性强、视觉效果好的报表。通过学习和实践这个实例,你将掌握如何在J2EE项目中有效利用jCharts,从而提升你的...
在"jCharts开发全攻略"这份文档中,你将找到更深入的jCharts使用教程,涵盖高级图表定制、动画效果、多系列数据处理、数据动态更新等方面的内容。通过学习和实践,你将能够利用jCharts创建出各种复杂的Web报表,满足...
通过以上分析,我们可以看出JCharts通用报表为Java开发人员提供了一个强大而灵活的报表生成工具,它简化了报表开发过程,提高了工作效率,同时也提供了良好的用户体验。在实际应用中,开发者可以根据项目需求对...
在Java开发中,数据可视化是一个重要的环节,jCharts作为一款开源的Java图表库,为开发者提供了丰富的图表绘制功能。本篇文章将深入探讨jCharts库,包括其源码解析、Demo演示以及如何将其应用到实际项目中。 ...
在开发过程中,拥有这些模板和API示例将大大简化工作流程,加快开发速度。你可以根据项目需求选择合适的图表库,并通过模板快速构建出符合风格的报表。这些库通常都支持动态数据绑定,使得数据更新时图表能实时反映...
6. **兼容性**:尽管是较早的版本,但krysalis-jCharts通常能与主流的Web开发框架(如Spring、Struts等)和浏览器(当时流行的Firefox、IE等)兼容。 7. **文档和示例**:虽然没有提及具体文档,但通常 alpha 版本...
这个“jChart help”压缩包包含的资源将帮助你了解如何安装并有效地利用jCharts进行数据可视化开发。下面,我们将深入探讨jCharts的基本概念、安装步骤、使用方法以及其主要特性。 ### 1. jCharts基本概念 jCharts...
相较于其他Java图表库如JCharts、Chart.js等,JFreeChart提供了更丰富的图表类型和自定义选项,但可能对新手来说学习曲线相对较陡峭。 6. **应用场景** JFreeChart广泛应用于数据分析、报告生成、仪表盘、科学...
3. **图表库**:Java Web中常见的图表库有JFreeChart、JCharts、Google Charts API等。这些库提供了一系列接口和方法,用于创建不同类型的图表,如折线图、柱状图、饼图、散点图等。通过调用这些库的API,开发者可以...
它还提供了强大的模板设计功能,允许开发人员通过JasperReport的报告定义语言JRXML来定义报表结构。 最后,OpenReports是基于Web的报表和分析工具,它基于JasperReports并扩展了其功能,提供了一个友好的Web界面供...
- **图表库**: 包括jFreeChart,jCharts等,用于生成可视化图表。 - **工作流引擎**: jbpm,osWorkflow,Shark等。 - **权限安全**: Acegi Security,Java Security等。 - **日志框架**: log4j,slf4j,commons ...
5. **jCharts**:jCharts是一个纯Java的图表生成工具,可输出多种类型的图表,并且特别适合通过Servlets在Web应用中展示图表。 6. **Cewolf**:Cewolf是一个用于在Web应用中嵌入复杂图形图表的Servlet/JSP组件。它...
8. **Cofax, OpenCMS, JasperReports, DataVision, JFreeReport, JCharts, iText, Apache FOP**:这些是内容管理和报表生成工具,如 JasperReports 可以创建复杂的报表,iText 则用于 PDF 文档处理,OpenCMS 提供了...
2step是一个用Java编写的开发框架,用于开发完整的Web应用程序(包括Web服务)。 作为Servlet框架,具有访问控制,日志记录,I18N,数据库访问,部署,XML / XSL等功能,并使用Jetty,FOP和jCharts。
然而,这些内置库可能无法满足复杂或定制化的图表需求,因此开发者经常选择第三方库,如JFreeChart、JCharts或`Jchart`这样的自定义封装库。这些库通常提供了更多的图表类型、自定义选项和性能优化。 2. **Jchart的...
10. **JCharts**:类似Chart示例,但使用另一个开源API jCharts生成图形。 11. **Landscape**:展示横向报表的设计方法。 12. **NoPageBreak**:演示如何在浏览器中以不分页的形式打印报表内容。 13. **NoReport*...
### JasperReports与Ant集成及HSQLDB服务启动详解 #### 一、JasperReports简介 ...这些技能对于开发人员来说非常实用,尤其是在需要生成复杂报表或集成数据库服务时。希望本文能为读者提供有价值的信息和指导。