使用微信小程序开发可视化效果 使用echarts和ec-canvas以及canvas标签实现,数据的结构为{地区{广东,广西},受教育程度{未上过学,小学,初中,高中,大学专科,大学本科,研究生},人数{合计,男,女}},分别为两个地区实现饼图,根据受教育成都显示不同的颜色,以及实现一个柱状图当中的折柱混合,根据性别和地区份不同颜色,其中同一个地区同一个学历的男女为同一个柱子,请写出示例代码

时间: 2023-10-15 13:02:05 浏览: 52
好的,下面是一个示例代码,通过echarts和ec-canvas实现两个地区的饼图和一个柱状图: ```html <!--index.wxml--> <view class="container"> <view class="chart"> <ec-canvas id="chart1" canvas-id="chart1-canvas" ec="{{ec1}}"></ec-canvas> </view> <view class="chart"> <ec-canvas id="chart2" canvas-id="chart2-canvas" ec="{{ec2}}"></ec-canvas> </view> <view class="chart"> <canvas id="chart3" style="width: 100%; height: 300px;"></canvas> </view> </view> ``` ```javascript // index.js import * as echarts from '../../components/ec-canvas/echarts'; Page({ data: { ec1: { lazyLoad: true }, ec2: { lazyLoad: true } }, onLoad: function () { this.initChart1(); this.initChart2(); this.initChart3(); }, initChart1: function () { var option = { title: { text: '广东受教育程度分布', left: 'center' }, series: [{ name: '受教育程度', type: 'pie', radius: '55%', center: ['50%', '60%'], data: [ { value: 335, name: '未上过学', itemStyle: { color: '#c23531' } }, { value: 310, name: '小学', itemStyle: { color: '#2f4554' } }, { value: 234, name: '初中', itemStyle: { color: '#61a0a8' } }, { value: 135, name: '高中', itemStyle: { color: '#d48265' } }, { value: 1548, name: '大学专科', itemStyle: { color: '#91c7ae' } }, { value: 335, name: '大学本科', itemStyle: { color: '#749f83' } }, { value: 310, name: '研究生', itemStyle: { color: '#ca8622' } } ], label: { formatter: '{b}:{c}({d}%)' }, emphasis: { label: { show: true, fontSize: '18', fontWeight: 'bold' } }, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; this.initChart('chart1', option); }, initChart2: function () { var option = { title: { text: '广西受教育程度分布', left: 'center' }, series: [{ name: '受教育程度', type: 'pie', radius: '55%', center: ['50%', '60%'], data: [ { value: 135, name: '未上过学', itemStyle: { color: '#c23531' } }, { value: 1548, name: '小学', itemStyle: { color: '#2f4554' } }, { value: 335, name: '初中', itemStyle: { color: '#61a0a8' } }, { value: 310, name: '高中', itemStyle: { color: '#d48265' } }, { value: 234, name: '大学专科', itemStyle: { color: '#91c7ae' } }, { value: 310, name: '大学本科', itemStyle: { color: '#749f83' } }, { value: 335, name: '研究生', itemStyle: { color: '#ca8622' } } ], label: { formatter: '{b}:{c}({d}%)' }, emphasis: { label: { show: true, fontSize: '18', fontWeight: 'bold' } }, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; this.initChart('chart2', option); }, initChart3: function () { var chart = echarts.init(this.selectComponent('#chart3').canvas, null, { width: wx.getSystemInfoSync().windowWidth, height: 300 }); var option = { title: { text: '广东和广西受教育程度分布', left: 'center' }, xAxis: { type: 'category', data: ['广东', '广西'], axisLabel: { interval: 0, rotate: 30 } }, yAxis: { type: 'value' }, series: [{ name: '男', type: 'bar', stack: '总量', itemStyle: { color: '#2f4554' }, data: [320, 302] }, { name: '女', type: 'bar', stack: '总量', itemStyle: { color: '#c23531' }, data: [120, 132] }, { name: '折线', type: 'line', data: [440, 434], itemStyle: { color: '#61a0a8' } }] }; chart.setOption(option); }, initChart: function (id, option) { var chart = echarts.init(this.selectComponent('#' + id).canvas, null, { width: wx.getSystemInfoSync().windowWidth, height: 300 }); chart.setOption(option); } }) ``` 需要注意的是,此示例代码中柱状图使用的是canvas标签实现,而不是ec-canvas组件,需要手动初始化echarts对象。

相关推荐

最新推荐

recommend-type

grpcio-1.44.0-cp39-cp39-manylinux2010_x86_64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

grpcio-1.42.0-cp38-cp38-macosx_10_10_x86_64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

江西省抚州市信通网络科技有限公司主页图标修正版

各页面加入图标 新网站,新气象。
recommend-type

C评级客户流失率相对误差.jpg

C评级客户流失率相对误差
recommend-type

tensorflow-2.9.3-cp39-cp39-win-amd64.whl

python爬虫数据可视化
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。