热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序中使用Echarts统计图

效果图    注意:ec-canvas一定要在wxss文件里设置宽和高,否则统计图区域会变为空白下载    github:https:github.comecomfeecharts
效果图

《微信小程序中使用Echarts统计图》
    注意:ec-canvas 一定要在 wxss 文件里设置宽和高,否则统计图区域会变为空白

下载

    github:https://github.com/ecomfe/echarts-for-weixin

    echarts options:https://echarts.apache.org/zh/option.html#legend
《微信小程序中使用Echarts统计图》
    解压之后把 ec-canvas 文件拷贝到小程序项目中
《微信小程序中使用Echarts统计图》

WXML

<view class="container">
<view class="echarts">
<ec-canvas id="myChart" canvas-id="myChart" ec="{ {ec}}">ec-canvas>
view>
view>
JS

// 1、引入脚本
import * as echarts from '../../components/ec-canvas/echarts';
function initChart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // 解决小程序视图模糊的问题
});
canvas.setChart(chart);
var option = {
title: {
text: '英雄战绩', // 主标题文本,支持使用 \n 换行
top: 10, // 定位 值: 'top', 'middle', 'bottom' 也可以是具体的值或者百分比
left: 'center', // 值: 'left', 'center', 'right' 同上
textStyle: { // 文本样式
fontSize: 16,
fontWeight: 600,
color: '#000'
}
},
// 设置图表的位置
grid: {
x: 5, // 左间距
y: 70, // 上间距
x2: 8, // 右间距
y2: 10, // 下间距
containLabel: true // grid 区域是否包含坐标轴的刻度标签, 常用于『防止标签溢出』的场景
},
// dataZoom 组件 用于区域缩放
dataZoom: [
{
type: 'inside',
xAxisIndex: [0], // 设置 dataZoom-inside 组件控制的 x 轴
// 数据窗口范围的起始和结束百分比 范围: 0 ~ 100
start: 0,
end: 30
}
],
tooltip: {
trigger: 'axis', // 触发类型, axis: 坐标轴触发
axisPointer: {
type: 'none' // 指示器类型,可选 'line'、'shadow'、'none'、'cross'
},
// 提示框浮层内容格式器,支持字符串模板和回调函数两种形式
// 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
formatter: '{b}\n{a0}: {c0}万\n{a1}: {c1}%'
},
legend: { // 图例的数据数组
data: [ // 图例项的名称 与 series 里的 name 相对应
{ name: '场次' },
{ name: '胜率' }
],
itemWidth: 13, // 图例标记的图形宽度
itemHeight: 13, // 图例标记的图形高度
// 图例项的 icon 值: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
icon: 'roundRect',
top: 33, // 定位
right: 5,
textStyle: { // 文本样式
fontSize: 13,
color: '#000'
}
},
xAxis: {
// 坐标轴轴线
axisLine: {
lineStyle: {
type: 'solid', // 坐标轴线线的类型 'solid', 'dashed', 'dotted'
width: 1, // 坐标轴线线宽, 不设置默认值为 1
color: '#000' // 坐标轴线线的颜色
}
},
// 坐标轴刻度
axisTick: {
show: false
},
// 分隔线
splitLine: {
show: false
},
// 坐标轴刻度标签
axisLabel: {
fontSize: 12, // 文字的字体大小
color: '#000', // 刻度标签文字的颜色
// 使用函数模板 传入的数据值 -> value: number|Array,
formatter: '{value}'
},
data: ['上官婉儿','王昭君','老夫子','狄仁杰','墨子','盘古','猪八戒','伽罗','李信','云中君','瑶','米莱迪']
},
yAxis: [{
type: 'value', // 坐标轴类型, 'value' 数值轴,适用于连续数据
name: '单位/万', // 坐标轴名称
nameLocation: 'end', // 坐标轴名称显示位置 'start', 'middle' 或者 'center', 'end'
nameTextStyle: { // 坐标轴名称的文字样式
align: 'center', // 文字水平对齐方式,默认自动,可选 'left'、'center'、'right'
fontSize: 12, // 坐标轴名称文字的字体大小
fontStyle: 'normal', // 坐标轴名称文字字体的风格, 可选 'normal'、'italic'、'oblique'
// 坐标轴名称文字字体的粗细, 可选 'normal'、'bold'、'bolder'、'lighter'、100 | 200 | 300 | 400...
fontWeight: 'normal'
},
nameGap: 15, // 坐标轴名称与轴线之间的距离
// 坐标轴刻度
axisTick: {
show: true // 是否显示坐标轴刻度 默认显示
},
// 坐标轴轴线
axisLine: { // 是否显示坐标轴轴线 默认显示
show: true, // 是否显示坐标轴轴线 默认显示
lineStyle: { // 坐标轴线线的颜色
color: '#000'
}
},
// 坐标轴在图表区域中的分隔线
splitLine: {
show: false // 是否显示分隔线。默认数值轴显示
},
// 坐标轴刻度标签
axisLabel: {
show: true, // 是否显示刻度标签 默认显示
fontSize: 13, // 文字的字体大小
color: '#000', // 刻度标签文字的颜色
// 使用字符串模板,模板变量为刻度默认标签 {value}
formatter: '{value}'
}
},
// 右侧Y轴
{
// 坐标轴刻度
axisTick: {
show: true // 是否显示坐标轴刻度 默认显示
},
// 坐标轴轴线
axisLine: { // 是否显示坐标轴轴线 默认显示
show: true, // 是否显示坐标轴轴线 默认显示
lineStyle: { // 坐标轴线线的颜色
color: '#000'
}
},
// 坐标轴在图表区域中的分隔线
splitLine: {
show: false // 是否显示分隔线 默认数值轴显示
},
axisLabel: {
show: true,
fontSize: 13,
color: '#000',
// 使用字符串模板,模板变量为刻度默认标签 {value}
formatter: '{value}%'
}
}],
// 系列列表
series: [
{
type: 'bar', // 系列类型
name: '场次', // 系列名称, 用于tooltip的显示, legend 的图例筛选
barMaxWidth: 12, // 柱条的最大宽度,不设时自适应
barGap: 0, // 不同系列的柱间距离, 为百分比 默认值为30%
// 图形上的文本标签
label: {
show: false,
fontSize: 13,
color: '#fff'
},
// 图形样式
itemStyle: {
// 柱条的颜色, 这里是渐变色, 默认从全局调色盘 option.color 获取颜色
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: '#FAB363' // 0% 处的颜色
}, {
offset: 1,
color: '#FB7C2B' // 100% 处的颜色
}]
},
barBorderRadius: [10, 10, 0, 0] // 圆角半径, 单位px, 支持传入数组分别指定 4 个圆角半径
},
// 系列中的数据内容数组
data: [200, 330, 400, 600, 830, 650, 690, 430, 550, 420, 420, 320]
},
{
type: 'line', // 系列类型
name: '胜率', // 系列名称, 用于tooltip的显示, legend 的图例筛选
symbol: 'circle', // 标记的图形
symbolSize: 11, // 标记的大小
yAxisIndex: 1, // 使用的 y 轴的 index,在单个图表实例中存在多个 y 轴的时候有用
// 图形的样式
itemStyle: {
color: '#11abff'
},
// 线的样式, 修改 lineStyle 中的颜色不会影响图例颜色, 一般不设置线的样式
lineStyle: {
type: 'solid', // 线的类型 'solid', 'dashed', 'dotted'
color: '#11abff'
},
// 图形上的文本标签
label: {
show: false,
fontSize: 13,
color: '#fff'
},
// 系列中的数据内容数组
data: [20, 24, 33, 45, 63, 50, 42, 24, 23, 14, 20, 10]
}
]
};
chart.setOption(option);
return chart;
}
Page({
data: {
ec: {
onInit: initChart // 初始化并设置
}
},
/** * 生命周期函数--监听页面加载 */
onLoad: function (options) {

},
/** * 生命周期函数--监听页面显示 */
onShow: function () {

}
})
WXSS

page {
background: #fff;
}
.container {
width: 100%;
}
.echarts {
width: 100%;
height: 500rpx;
}
ec-canvas {
width: 100%;
height: 100%;
}
JSON

{
"navigationBarTitleText": "搜索",
"usingComponents": {
"ec-canvas": "../../components/ec-canvas/ec-canvas"
}
}

推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
author-avatar
勇敢的柯柯_j
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有