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

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

近我接到一个开发任务,要求就“售后服务客户满意度调查问卷表”里客户填写的反馈答案做一个统计。


问题的例子如下:


您最后一次是何时购买了我们的产品?

服务人员服务态度是否友好、工作尽职尽责?

您对我公司提供的售后服务总体感觉如何?

。。。

image.pngimage.png


我要实现的功能是出一个报表,在同一个页面显示对于每个问题,每个答案的总共出现次数。


我实现了一个简单的效果,如下图所示:


image.png

当然六个图标用的都是一模一样的测试数据,主要解决了多个图表出现在同一个页面里的布局问题。


大家用下面这个链接测试下效果。用Chrome开发者工具即可查看093_chart.html的实现。


http://i042416.github.io/FioriODataTestTool2014/WebContent/093_chart.html


手机上打开的效果。

image.png

简单过一下代码:

image.png

两个div里各包含了6个canvas。第一个div负责用6个饼状图来显示问题的结果,第二个div里的6个canvas则显示柱状图。每个canvas我用了标注成!important的display:inline属性,来强制让这些位于canvas节点里的统计图从左到右显示,而不是默认的每显示一个就换行。

image.pngimage.png

第41行把当前窗口总的宽度通过body节点的clientWidth属性来获得,然后除以6.5,商即为每个统计图的宽度。之所以除以6.5而不除以6是为了给每一行的统计图之间预留一些空隙。


统计图的类型,X和Y坐标的数据和标签通过option对象传入到函数createChartOnCanvas中。

image.png

相关文章
|
27天前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
34 5
|
1天前
|
JavaScript 前端开发
js怎么定位不同的页面元素
在JavaScript中,有多种方法定位和选择页面元素。
|
18天前
|
JavaScript 前端开发
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
|
20天前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
28 2
|
20天前
|
JavaScript
分别用jquery和js修改页面元素
分别用jquery和js修改页面元素
27 2
|
27天前
|
JavaScript 前端开发 API
js全屏,监听页面是否全屏
js全屏,监听页面是否全屏
34 4
|
20天前
|
JavaScript
js图表制作
js图表制作
12 0
|
27天前
|
JavaScript 前端开发
js如何渲染页面内容
js如何渲染页面内容
23 0
|
27天前
|
JavaScript Java
分别使用java script和jQuery添加页面元素
分别使用java script和jQuery添加页面元素
25 0
|
28天前
|
JavaScript
JS 判断域名并跳转到指定页面
JS 判断域名并跳转到指定页面
22 0