日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在同一页面显示多个JavaScript统计图表

發布時間:2023/12/19 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在同一页面显示多个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中。

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

總結

以上是生活随笔為你收集整理的在同一页面显示多个JavaScript统计图表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。