• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于JFreeChart的Web統(tǒng)計圖表研發(fā)

      2012-04-29 18:05:01林進周棟車翠琦湯瓊
      電腦知識與技術(shù) 2012年26期

      林進 周棟 車翠琦 湯瓊

      摘要:圖表是一種直觀、形象顯示數(shù)據(jù)的有效方式。該文以實際項目中問題為需求,在分析了JFreeChart組件結(jié)構(gòu)的基礎(chǔ)上,詳細介紹了其在J2EE平臺開發(fā)應(yīng)用于Web的動態(tài)統(tǒng)計圖表的方法,該方法對此類圖表的開發(fā)有很好的參考價值。

      關(guān)鍵詞:JFreeChart;JAVA;動態(tài)統(tǒng)計圖表

      中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2012)26-6253-03

      Research and Development of Web Statistical Charts Based on JFreeChart

      LIN Jin, ZHOU Dong, CHE Cui-qi, TANG Qiong

      (College of Information&Technology, Zhejiang Chinese Medical University, Hangzhou 310053, China)

      Abstract: The chart is a visual image of an effective way to display data. Based on the actual demand of a project , this paper in? troduces the method of dynamic charts in the J2EE platform development applied to Web in detail after analyzing the JFreeChart component structure,which has a good reference value for the development of such charts.

      Key words: JFreeChart; JAVA; dynamic statistical charts

      在J2EE平臺上開發(fā)Web應(yīng)用的過程中,常會遇到繪制圖形的問題,生成基于瀏覽器的Web圖表技術(shù)也很多,而服務(wù)器端直接生成圖表的方式更適合于我們目前的需求。本文介紹的就是一個基于Java的圖表引擎JFreeChart,它可用在服務(wù)器端產(chǎn)生圖表,可以很好地解決圖形繪制問題。

      JFreeChart是JFreeChart公司組織開發(fā)的一種基于JAVA語言的圖表開發(fā)技術(shù),也是開放源代碼站點SourceForge.net上的一個JAVA項目[1]?;灸軌蚪鉀Q目前的圖形方面的需求生成各種各樣的統(tǒng)計圖,包括餅狀圖、柱狀圖、折線圖、分布圖和混合圖等等。它生成的圖形可以PNG和JPEG文件格式保存,向網(wǎng)絡(luò)客戶瀏覽器傳送,也可以直接輸出到屏幕上。同時還可以與PDF和EXCEL關(guān)聯(lián),生成該格式的文件。

      1 JFreeChart介紹

      JFreeChart組件對繪制圖表的細節(jié)進行了封裝,它對外提供了繪制圖形及設(shè)置圖形屬性的接口與方法。因此,在JFreeChart組件的使用過程中,不必關(guān)心它所繪制的圖形報表是如何實現(xiàn)的,只需要了解JFreeChart組件的結(jié)構(gòu)及核心對象。

      JFreeChart組件的核心對象有:制圖對象、制圖工廠對象、數(shù)據(jù)集合對象、繪圖區(qū)對象、坐標(biāo)軸對象和、圖片渲染對象[2]。

      一般產(chǎn)生圖表的流程如圖1所示。

      2系統(tǒng)框架設(shè)計

      本文介紹的圖表生成技術(shù)框架主要分為3層:表示層、控制層、數(shù)據(jù)層。表示層即外部頁面JSP和外部接口并用,主要職責(zé)就是為用戶提供信息以及把用戶指令翻譯傳送給控制層和數(shù)據(jù)層,在本文中主要是傳送參數(shù)并顯示JFreeChart生成的圖形;控制層是業(yè)務(wù)邏輯層,主要是對表示層傳送的請求加以處理并返回,根據(jù)JSP頁面?zhèn)鬟^來的參數(shù)和數(shù)據(jù)層提供的數(shù)據(jù)運用JFreeChart組件生成對應(yīng)的圖形返回到JSP頁面;數(shù)據(jù)層是連接數(shù)據(jù)庫和處理數(shù)據(jù),為控制層生成圖形提供對應(yīng)的數(shù)據(jù)合成數(shù)據(jù)集。表示層通過ajax向控制層發(fā)送請求,控制層接收請求并處理,根據(jù)action類中方法對數(shù)據(jù)層進行訪問,數(shù)據(jù)層對數(shù)據(jù)庫中的數(shù)據(jù)進行封裝處理,通過Spring、Struts在表示層輸出。系統(tǒng)技術(shù)框架如圖2所示。

      3報表實現(xiàn)

      3.1環(huán)境配置

      本文報表的實現(xiàn)是基于SSM框架結(jié)構(gòu),主要用到的技術(shù)是:Spring、Struts2、mybatis,以SQL Server 2008為后臺數(shù)據(jù)庫。在使用JFreeChart之前,需要將其提供的JFreeChart組件、struts2-jfreechart-plugin、gwt-benchmark-viewer開發(fā)包文件添加到本地的開發(fā)類庫之中。

      3.2圖表生成

      本文通過JFreeChart應(yīng)用于某科教信息管理系統(tǒng)的實例來研究JFreeChart的使用,主要需求包括各地市的相關(guān)項目的參加人數(shù)或各類費用統(tǒng)計的統(tǒng)計圖表。本文以柱狀圖為例顯示進修情況的人數(shù),以地市為單位。具體實現(xiàn)過程如下:

      1)創(chuàng)建數(shù)據(jù)集對象CategoryDataset。此過程使用DatasetUtilities類的createCategoryDataset()方法進行創(chuàng)建,其方法需要3個參數(shù)(rowKeys,columnKeys, data)。其中rowKeys表示地市,columnKeys表示人數(shù), data表示填充柱狀圖所要的來自SQL Server 2008數(shù)據(jù)庫的進修情況維護表。

      2)創(chuàng)建圖表對象JFreeChart。此過程使用ChartFactory工廠類里的createBarChart3D()方法進行創(chuàng)建,其方法需要提供8個參數(shù)( "標(biāo)題",X,Y,dataset,PlotOrientation.VERTICAL,true,true,false)。其中分別代表:標(biāo)題、橫坐標(biāo)、縱坐標(biāo)、數(shù)據(jù)集、圖標(biāo)方向、顯示圖例、生成工具、啟用超鍵接。

      3)創(chuàng)建圖表區(qū)域?qū)ο驝ategoryPlot。通過語句ValueAxis rangeAxis = plot. getRangeAxis()實現(xiàn)坐標(biāo)軸對象。通過rangeAxis的set? UpperMargin()和setLowerMargin()方法來分別設(shè)置最高一個柱和圖片頂端的距離和最低一個柱和圖片底端的距離。

      4)創(chuàng)建顯示圖表對象類型BarRenderer3D。為renderer設(shè)置一些屬性,如setBaseOutlinePaint設(shè)置基線顏色,setWallPaint設(shè)置柱的顏色,setItemMargin設(shè)置平行柱間的距離以及setItemLabelXXX設(shè)置顯示每個柱的數(shù)值,并可修改該數(shù)值的字體屬性等方法。

      3.3在JSP中實現(xiàn)

      將服務(wù)器中生成的圖表顯示在JSP頁面中需要為圖表顯示分配空間,本文采用iframe來存放圖表,iframe通過url鏈接訪問到服務(wù)器生成的圖表,在此過程中需要對Sping和Struts2進行相應(yīng)的配置,以便瀏覽器能正確訪問。具體操作如下:

      1)生成某統(tǒng)計圖表的的方法具體實現(xiàn)在studyNextStackedBarAction中,而studyNextStackedBarAction調(diào)用到了接口studyNext? Mapper和studyNextSumAction類,利用Spring的控制反轉(zhuǎn)機制來管理生成圖表的studyNextStackedBarAction類,Spring對studyNext? StackedBarAction類管理的配置文件applicationContext.xml中,添加如下配置:

      和顺县| 大足县| 综艺| 胶南市| 广昌县| 通渭县| 凉山| 陈巴尔虎旗| 武汉市| 噶尔县| 永城市| 民勤县| 敖汉旗| 军事| 靖边县| 弥渡县| 温州市| 汾阳市| 濮阳市| 客服| 永定县| 庄河市| 城市| 平阳县| 会泽县| 富锦市| 湛江市| 从江县| 扶风县| 建德市| 会同县| 福鼎市| 昌乐县| 南岸区| 中牟县| 德化县| 兴海县| 怀宁县| 沂源县| 修水县| 河北省|