ChartDirector与JFreeChart比较及基于SWING的交互功能实现介绍

公司BI图表发展需要,经过几番试用,决定应用商业组件ChartDirector。5个开发License和一个发布License,约1千美元,还是很便宜的。

相比JFreeChart,主要优势表现在如下几点:

1. 基于SWING的交互功能。两者在web方面的交互功能差不多。但ChartDirector实现了基于Swing的图表交互功能,这是广大图表开发者一直期盼JFreeChart实现而没能等到的。示例代码如下:

      // 1.创建图表
        PieChart c = new PieChart(360, 300);
        c.setPieSize(180, 140, 100);
        c.setData(data, labels);

      //2.创建图表面板
        ChartViewer viewer = new ChartViewer();
        viewer.setImage(c.makeImage());

        //3.设置图表交互Map
        viewer.setImageMap(c.getHTMLImageMap("http://ufida.com/clickable", "",
            "title='{label}: US${value}K ({percent}%)'"));

       //4.实现交互监听器HotSpotListener
          viewer.addHotSpotListener(new HotSpotListener() {
			public void hotSpotReleased(HotSpotEvent hotspotevent) {
			}
			public void hotSpotPressed(HotSpotEvent hotspotevent) {
                               //读取相关参数,响应交互
				JOptionPane.showMessageDialog(frame, hotspotevent.getAttrValues() + "");
			}
			public void hotSpotExited(HotSpotEvent hotspotevent) {
			}
			public void hotSpotEntered(HotSpotEvent hotspotevent) {
			}
			public void hotSpotClicked(HotSpotEvent hotspotevent) {
			}
	});

 

2.图表类型的支持。ChartDirector有更易实现的复合图表,更绚丽的三维图表,而且附加了金融类图表。

3.绘制效果。ChartDirector表现细腻明晰,明显强于JFreechart.

4. 多种开发语言支持。ChartDirector支持java、php、Python、C等等开发语言,是一些采用如php+java复合编程的大型项目的图表套件首选。而JFreeChart只有java版本。

 

ChartDirector更多其它特征:

  • 高效快捷
    采用多线程结构,特别应用于具有高性能要求的服务器端应用程序开发。
  • 灵活性
    拥有基于API(应用编程接口)的对象,允许用户控制和定制图表细节,从而设计出用户满意的图表。
  • 丰富而全面的图表样式
    圆形图表(饼状图),圆环图,柱形图(条形图),直线图,曲线图,梯级线图,趋势线图,曲线拟合图,线间色图,区域图,散布图(散形图),泡沫图,floating box,box-whisker,瀑布图,金融类图表,甘特图表,向量图,雷达图,极线图,rose,XY轴交换(旋转图表)和3D效果。
  • 金融类图表库(附有源代码)
    拥有成熟的金融类图表(具有46种技术指标)库,并且附带有相关源代码。同时包含有一个交互性强的金融图表实例程序。
  • 仪表和量表
    含有可以测量任意角度的测角仪表和可以进行横向和纵向测量的线性仪表。
  • 层结构
    具有同步处理能力的图表层允许不同的图表样式重叠,从而获得任意的组合图表,并且达到特殊的效果。例如,box-whisker可以用来添加错误标记到任意的XY图表样式上;还有散布图层可以用来加亮具有个性化标记的数据点。
  • CDML(图表制作向导标记语言)
    图表制作向导标记语言这项创新性技术可以给内嵌有图标和图片的文档提供丰富的样式。该语言是基于所有的CharDirector文档定位符,其中包括有图表标题,图例关键字,轴标签,以及数据标签等等。
  • 高级的着色系统
    除了ARGB颜色(具有阿尔法透明性的真彩色)之外,在ChartDirector中所有对象还可以着上“奇妙的颜色”——这种颜色依赖于定位。该系统还包括:颜色式样,颜色梯度,金属颜色,依赖于数据取值的颜色(比如,指示阀)
  • 图像映射自动生成
    生成的图像映射可以支持工具使用提示以及鼠标与图形控件的交互。具有对图像进行细化处理的能力。工具提示可以用户定做,包括一些具有个性化的文字和数据。图像映射是可扩展的,可以包含用户自定义的区域,比如公司标志,标签,以及按钮。
  • 浏览器的兼容性
    生成的图表是PNG,JPEG,BMP,WBMP,以及GIF格式的,这些图表格式对所有浏览器都是可见的,其中包括移动设备和手持设备。图表可以作为图片嵌入到E-Mail(电子邮件),WORD文档,PDF格式文档等等,并且客户端不需要使用任何Java或者ActiveX控件。
  • 快捷的图表生成和传输
    图表可以快捷地生成并传输到浏览器端,并且作为一个标准的Http图像数据进行存储,而不需要占用临时的图像文件。
  • 节约带宽
    采用优化的颜色缩减算法,来制作基于调色板的图表,其效果等同于真彩色图表,并且文件所占空间变得更小。特别是对于因特网应用开发是一款非常理想的工具。
  • 便于使用
    制作图表只需要少数行代码,并配备有内容全面的文档和丰富的实例程序。
  • 国际化标准
    支持统一字符编码,可自行设置数字,日期/时间格式。

Tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *