重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“怎么在同一页面显示多个JavaScript统计图表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在同一页面显示多个JavaScript统计图表”吧!
十载的德江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整德江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“德江网站设计”,“德江网站推广”以来,每个客户项目都认真落实执行。
我实现了一个简单的效果,如下图所示:
当然六个图标用的都是一模一样的测试数据,主要解决了多个图表出现在同一个页面里的布局问题。
手机上打开的效果。
简单过一下代码:
两个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中。
到此,相信大家对“怎么在同一页面显示多个JavaScript统计图表”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!