在同一頁面顯示多個JavaScript統計圖表
最近我接到一個開發任務,要求就“ 售後服務客戶滿意度調查問卷表”裡客戶填寫的反饋答案做一個統計。
問題的例子如下:
-
您最後一次是何時購買了我們的產品?
-
服務人員服務態度是否友好、工作盡職盡責?
-
您對我公司提供的售後服務總體感覺如何?
。。。
我要實現的功能是出一個報表,在同一個頁面顯示對於每個問題,每個答案的總共出現次數。
我實現了一個簡單的效果,如下圖所示:
當然六個圖示用的都是一模一樣的測試資料,主要解決了多個圖表出現在同一個頁面裡的佈局問題。
大家用下面這個連結測試下效果。用Chrome開發者工具即可檢視093_chart.html的實現。
http://i042416.github.io/FioriODataTestTool2014/WebContent/093_chart.html
手機上開啟的效果。
簡單過一下程式碼:
兩個div裡各包含了6個canvas。第一個div負責用6個餅狀圖來顯示問題的結果,第二個div裡的6個canvas則顯示柱狀圖。每個canvas我用了標註成!important的display:inline屬性,來強制讓這些位於canvas節點裡的統計圖從左到右顯示,而不是預設的每顯示一個就換行。
function loaded(){ var totalWidth = getBodyNode().clientWidth; console.log("width in load: " + totalWidth); var aCharts = document.getElementsByTagName("canvas"); for( var i = 0; i < aCharts.length; i++){ aCharts[i].width = totalWidth / 6.5; } var option = { type: "pie", xAxisData: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], yAxisData: [12, 19, 3, 5, 2, 3], yAxisLabel: "Number of Votes" }; for( var i = 1; i <= 6; i++ ){ createChartOnCanvas("myChart" + i, option); } option.type = "bar"; for( var i = 1; i <= 6; i++ ){ createChartOnCanvas("barChart" + i, option); } }
第41行把當前視窗總的寬度通過body節點的clientWidth屬性來獲得,然後除以6.5,商即為每個統計圖的寬度。之所以除以6.5而不除以6是為了給每一行的統計圖之間預留一些空隙。
統計圖的型別,X和Y座標的資料和標籤通過option物件傳入到函式createChartOnCanvas中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2213997/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在同一個頁面中新增多個CollectionViewView
- java byte[] 轉圖片 在jsp頁面顯示JavaJS
- 強制頁面顯示在框架裡框架
- js控制頁面顯示和表單提交JS
- 從資料在頁面顯示不解析
- 【JS】javascript實現頁面顯示數字時鐘JSJavaScript
- JavaScript訪問同一個頁面中的不同iframe的內容!JavaScript
- 擴充套件EasyUI在頁面中馬上顯示選中的本地圖片套件UI地圖
- Django實現圖片上傳並前端頁面顯示Django前端
- 如果走框架在同一頁面裡實現多個列表的分頁查詢框架
- [BUG反饋]onethink站這個頁面在firefox下顯示問題Firefox
- 同一個form表單提交到不同的頁面進行處理ORM
- 在工作列上顯示圖示 (轉)
- 直播系統平臺搭建,主播個性標籤顯示在id後面
- vue顯示多個空格Vue
- 網頁圖片不能顯示 網頁圖片顯示不出來的解決辦法網頁
- .net頁面載入顯示word檔案
- 【Android Fragment】友盟統計 Fragment 頁面顯示隱藏的完美解決方案AndroidFragment
- 在近期任務列表顯示單個APP的多個ActivityAPP
- 一個Activity顯示多個Activity
- JBOSS執行JSP檔案,頁面顯示如下資訊JBOSS執行JSP檔案,頁面顯示如下JS
- 內容顯示在HTML頁面底端的一些處理方式HTML
- javascript顯示一個時鐘JavaScript
- 一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼
- 一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?
- 在多個JSP頁面之間傳遞引數JS
- CSS背景圖片集中在同一個圖片CSS
- WordPress文章閱讀量統計和顯示(非外掛, 重新整理頁面不累加)
- javascript如何統計頁面中標籤的數量JavaScript
- OT部分頁面左側選單不顯示
- JSON 格式化 顯示到頁面中JSON
- hosts引起hotmail登入頁面無法顯示AI
- linux 字符集 頁面顯示亂碼Linux
- win10系統開啟網頁頁面顯示不完整如何解決Win10網頁
- 高手,請教一個JSP頁面查詢顯示的問題JS
- 在SAP Spartacus產品明細頁面用outlet顯示自定義資料
- 記一次ios下h5頁面圖片顯示問題iOSH5
- SQL Server Report Service網頁頁面顯示英文問題SQLServer網頁