数据可视化技术的实现方法研究王媛媛,丁 毅,孙媛媛,赵志丹( 300130) :随着企业信息化的发展,数据可视化扮演着越来越重要的角色。数据可视化技术以更直观的方式表现数据及其结构关系,帮助用户理解大量的数据信息,发现数据中隐含的现象,提高数据的使用效率。对JavaApplet,SVG,JFreeChart三种常用的图表展示方法进行研究,比较分析其优缺点,并对适于绘制二维统计图表的JFreeChart图表组件给出了具体的实现方法。:数据可视化;统计图表;可伸缩矢量图;JFreeChart;数据展示:TP311.1 :A :1004373X(2007)0407104ResearchonDataVisualizationImplementationMethodsWANGYuanyuan,DINGYi,SUNYuanyuan,ZHAOZhidan(SchoolofComputerScienceandSoftware,HebeiUniversityofTechnology,Tianjin,300130,China)Abstract:Withthedevelopmentofenterpriseinformationization,datavisualizationhasplayedanincreasinglyimportantrole.Thetechnologyofdatavisualizationshowsdataanditsstructuralrelationsinadirectlyobservableway.Itcanassistusertounderstandmassesofinformation,andexploittheinnerofthedataandenhancetheproductivityofdata.Thispaperdiscus-sesthreekindsofchartshowingmethods,suchasJavaApplet,SVG,JFreeChart,analyzingtheiradvantagesanddisadvanta-ges,anddeliberatelyshowshowtodraw2DstatisticchartusingJFreeChartcomponents.Keywords:datavisualization;statisticchart;SVG;JFreeChart;datadisplay:20060811 ,,,。,。,,,。,、、,,,。1 (datavisualization),,、。,,,。,,、、,,,,[1]。、、、、、、、。,,[2]。2 Internet,B/S,,Web,Web,。Web3:1JavaAppletJava;2SVG,;3Web,。3。2.1 JavaApplet生成Web动态图表Java,JavaApplet,、、Web,Java[3]。71《》20074243 2.1.1 JavaApplet绘图原理JavaAppletJava,Java,html。html,Java,。JavaApplet、、、,,Java,Graphics。Java.awt.Graphics、、、、、、、。、、[4]。2.1.2 JavaApplet方法的应用情况WebJavaApplet,,JavaAppletWeb,JavaWeb,。,JavaApplet,,Java,Java。,IENetscape,JavaJavaAppletWeb。,JavaAppletclass,,,。Java,,。2.2 SVG生成矢量图2090,W3CSVG(ScalableVectorGraph-ics),,XML,Web、Web。2.2.1 SVG对图形的支持(ScalableVectorGraphics,SVG)XML。、、、、,SVG,,[5]。SVGXML,,,,、。SVGXML,XML。Web,,SVG,。SVG,rect,line,circle,,pathmarker,text、。2.2.2 SVG绘图的特点及应用情况SVG、、、、、。,SVG。,SVG,SVG,SVG,。,,SVG。,,,[6]。2.3 使用JFreeChart在服务器端生成图像2090,Java,WebWeb:JFreeChartCewolf,JFreeChart。JFreeChartJava,,。:、()、、、、、[7],C/S,B/S,。。JFreeChartWeb,,ServletImage,。Server,,,。2.4 三种方法的比较分析3,。JavaJavaApplet,Java,Java。Java,JavaApplet,、、Web。Web,,,、、、、。SVG,、、,,。,SVGFlashXML,。SVG、、,。JavaApplet,SVG,,。,、、,72:,。JFreeChart:,,。,,,。,、,,,。,JFreeChart,,,。JFreeChart。3 JFreeChart3.1 JFreeChart核心类JFreeChart,。(1)JFreeChart。,Char-tFactory,。,、,JFreeChart。(2)XXXXXDataset。,JFreeChart,。(3)XXXXXPlot。,Axis,Renderer,。(4)XXXXXAxis。2:。(5)XXXXXRenderer,。,。(6)XXXXXURLGeneratorWeb。(7)XXXXXToolTipGenerator,。3.2 创建条形图,。JFreeChart:。。。。。。dataset,datasetDe-faultCategorataset。DefaultCategoratasetdataset=newDefaultCate-gorataset();,datasetaddValue,。addValue3、、。dataset.addValue(700,20060716,);,chart。ChartFactorycreate-XXXXX。createBarChart,8,1~3,,、、,4,5,6,7,8,。JFreeChartchart=ChartFactory.createBarChart(“”,“”,“”,dataset,PlotOrientation.VERTICAL,true,false,false);Web,session,。Stringfilename=ServletUtilities.saveChartAsPNG(chart,800,600,null,session);,,web。StringgraphURL=request.getContextPath()+/serv-let/DisplayChartfilename=+filename;imgsrc=%=graphURL%width=500height=300border=03.3 增加与用户交互功能,。,,,。,map,,URL。JFreeChartChartRenderingInfo,map。,ChartFactory,true,,URL。,ChartRenderingInfo,ChartUtilitiessaveChartAsJPEG,。,mapChartRenderingInfo,ChartUtilitieswriteImageMapCh-artRenderingInfo。ChartRenderingInfoinfo=newChartRenderingInfo(newStandardEntityCollection());Stringfilename=ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);ChartUtilities.writeImageMap(newPrintWriter(out),chart,info);73《》20074243 img,usemap。imgsrc=%=graphURL%usemap=chart图1 JFreeChart实例:商场客流情况条形统计图3.4 设计Web动态图表应注意的问题JFreeChart,。,。JFreeChart,、,setXXXXXFont,。,,JFreeChartRenderingHints,,。chart.getRenderingHints().put(RenderingHints.KEYTEXTANTIALIASING,RenderingHints.VALUETEXTANTIALIASOFF)Web,,。,HTML,Applet,。JFreeChart2,XML,XML,SAX,;JDBCXXXXXDataset,。。,,,。,,,、、,addValue,。,,。,、,:Stringrowkey[]={,,};Stringdata[][]={{700,467,170},//20060716{850,375,275}};//20060717StringseriesNames[]={20060716,20060717};,。DefaultCategoratasetdataset=newDefaultCategorata-set(); for(inti=0;idata.length;i++){//ii Stringseries=seriesNames[i]; for(intj=0;jdata[i].length;j++){//jij StringrowKey=rowKeys[j]; dataset.addValue(data[i][j],series,rowKey); }},,。4 ,Web,Web,、。JFreeChart,,,Web。,Web。参 考 文 献[1],,,.[J].,2004,28(5):668670.[2].[J].,2005(6):3940.[3],.JavaWeb[M].:,2005.[4]DavidMGeary.Java21:AWT[M].,.:,2000.[5],.SVG[J].,2006,32(3):6567,78.[6],.XMLSVG[J].,2006,32(1):6972.[7]JFreeChart[EB/OL]. 王媛媛 女,1982年出生,河北邯郸人,在读硕士研究生。研究方向为智能信息处理。丁 毅 男,1981年出生,河北沧州人,在读硕士研究生。研究方向为智能信息处理。孙媛媛 女,1982年出生,河北保定人,在读硕士研究生。研究方向为智能信息处理。赵志丹 女,1979年出生,河北张家口人,在读硕士研究生。研究方向为软件工程。74: