微信小程序:自定义柱状图

您所在的位置:网站首页 echart设置legend 微信小程序:自定义柱状图

微信小程序:自定义柱状图

2023-04-15 23:30| 来源: 网络整理| 查看: 265

1

EChart在某些配置较低的手机上出现无法交互的情况,换成自定义控件解决了这个问题。

2

新建一个自定义组件,布局如下

wxml

根据官方文档的说法,最好使用canvas2d进行绘制。

3

js

通过SelectorQuery获取canvas对象,这里的in方法用于获取自定义组件中的节点。

node属性用于获取节点实例,即canvas对象,size用于获取节点尺寸,就是canvas的宽高。这里有一个坑,通过节点获取到的画布宽高,仅仅是画布的宽高,想要在真机上正常显示,还需要获取手机的密度,并将画布的宽高乘以密度,canvasContext同样缩放屏幕密度倍数。

pixelRatio,官方说明为像素比,应该就是开发android时,1dp等于多少px。

4

绘制柱状图,其实并不复杂,统计图的要素就那么多。

首先是标题,如果需要标题的话,那么就要在绘制标题时,就需要指定标题的样式,然后预留出标题周围需要的边距。然后可以把绘制标题的方法抽取一个单独的方法。

坐标轴,确认坐标轴原点的位置,要考虑预留出坐标轴名称的位置,预留刻度名称的位置。

当获取到数据时,绘制跟数据有关的部分,也就是刷新方法。

如果需要动态刷新,js的canvas需要把原有的画布内容清空,于是要有一个clear方法。

5

提示条canvas的要覆盖在统计图canvas上,同理要根据屏幕密度对画布进行调整。同时初始化一组跟统计图canvas同样的坐标系。

绑定屏幕点击事件bindtouchastart,点击屏幕时记录点击的位置,显示提示条。

6

当手指在屏幕上滑动时,监听事件bindtouchmove,根据滑动距离变化触发页面刷新,统计图canvas,提示条canvas根据需要,是否都需要刷新。

大致思路是这样, 源码 供参考。

1.F2简介及语法参照网址

https://www.yuque.com/antv/f2/miniprogram

2.F2的微信小程序图表示例参照

https://github.com/antvis/wx-f2

3.@antv/f2-canvas 模块为 F2 的微信小程序图表自定义组件,依赖于 @antv/wx-f2(F2 对于微信小程序进行的适配),请直接使用 @antv/f2-canvas。

https://github.com/antvis/f2-canvas

此教程适用于初步了解微信小程序基础框架的用户

1.创建标准小程序

2.在项目根目录下,初始化创建package.json文件

3.安装npm install --production

4.安装微信小程序 F2 图表组件

5.安装好依赖包之后,运行

6.开始绘制柱状图

7.常见问题

欢迎留下建议或者更好的解决方案。

准确的来描述,echarts tooltip设置正常,却无法显示的问题,都是被遮挡了。

实例如下:

HTML中DOM代码:

HTML中对应的css代码:

当z-index: -9999时,默认被遮挡,调整或则删除即可。

z-index 属性指定一个元素的堆叠顺序。

拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

注意: z-index 进行定位元素(position:absolute, position:relative, or position:fixed)。

打开CSDN APP,看更多技术内容

echarts折线图堆叠怎么设置_百度echarts使用教程之echarts多条折线图实...

我们把selectedMode的值设置为single,单选模式,效果如下: 四、完整demo.html代码

继续访问

echarts使用toolbox切换堆叠柱形图和平铺折线图的问题解决

1.问题这两天做Echarts图表遇到一个问题。需要使用toolbox工具箱进行堆叠图和折线图的切换。由于显示市默认显示堆叠图所以数据是堆叠图的格式。在切换折线图时,折线图也是堆叠状态。本意是使折线图处于平铺形式,客观显示数据趋势。问题如下...

继续访问

最新发布 echarts tooltip显示不全问题

echarts的tooltip显示不全问题

继续访问

Echarts设置tooltip层级z-index

在项目开发过程中,滚动页面后,发现图表的tooltip遮挡住上面元素,于是设置顶部元素的z-index=99999发现没有用。 在浏览器中选中tooltip后可以发现,tooltip的z-index=9999999即7个9。所以如果设置被遮挡的元素的z-index=8个9自然可以解决这个问题 但是,这样究竟不够优雅。 查看官方文档发现,tooltip有一个extraCssText属性。所以可以设置该属性来修改它的样式: ...

继续访问

Echarts 实现Toolip轮播_一休~的博客

Echarts 实现Toolip轮播 Echarts专栏收录该内容 3 篇文章0 订阅 订阅专栏 Gallery:https://gallery.echartsjs.com/editor.html?c=x0A9jQ8a1j Echarts版本是4.0,注释写的很清楚,有问题请提出...

继续访问

echart 图谱_vue + echarts 实现有层级关系图的图谱

text: 'ECharts 关系图', show:false }, // 提示框的配置 tooltip: { enterable: true, // 鼠标可移入tooltip中 axisPointer: { type: 'cross', lineStyle: { type: 'solid',

继续访问

echarts canvas 层级太高 导致tooltip被遮盖

问题截图: 解决方法: 给echarts里面的canvas设置层级, z-index: -1 import ReactEcharts from 'echarts-for-react' import styled from 'styled-components' // 这里本人习惯使用styled-components处理样式, 普通的css方式也可以 // 降...

继续访问

热门推荐 Echarts提示框(tooltip)位置设置

Echarts提示框(tooltip)浮层位置,不设置时,默认位置会跟随鼠标的位置。 但是,当提示框位置超出图表所在区域时,就可能出现提示框显示不全的问题,如下所示: 这就需要我们去设置提示框位置 1、设置提示框位置的方法 方法一:通过数组设置提示框位置 数组第一个元素设置距离父元素左边的距离,数组第二个元素设置距离父元素上边的距离 这种方法设置的提示框位置固定不...

继续访问

...比关系(某项占比100%)_敲之的博客_echarts饼图包含关系

echart饼图设置堆叠效果 option = { legend: { orient:'vertical', left:'left', }, series: [ { type:'pie', radius:'50%', data: [ {value:1000,name:'全部'}, ], },

继续访问

echarts 树状图节点太多导致节点重叠,如何调整_Miss.PH的博客...

由于节点太多导致节点重叠在一起后用户无法正常查看,我们可以根据节点的数量并设置每个节点间的高度动态调整E charts 画布的高度和宽度。 如下代码: html部分: template/templatejs部分: data() { return{ chart...

继续访问

微信小程序使用echarts图表

1 微信小程序使用echarts图表 2 网页嵌套和其它页面的引用

d3.js第七次人口普查可视化分析(含数据和源代码)

d3.js,将获取到的数据进行处理,将不同数据可视化成各种图形,折线图,饼状图,条形等,将各个年份的数据与图形对应起来分别是受教育情况、年龄组成、性别比例和户籍比例,并且将数据与图形相结合进行交互。

解决echarts不显示tooltip(提示框)

tooltip对象中不需要加triggerOn,不知道为什么加了就不显示tooltip

继续访问

echarts 移动端画面失真模糊,tooltip不显示

echarts 移动端画面失真等使用心得 这次的项目移动端电脑端都有用到echarts这个插件。在此记录一些使用心得,方便日后查看。如果能帮到看文章的你,我很高兴。 移动端 一、柱状图,画面失真,柱状图发虚 解决方案一 换svg绘图 解决方案二 我的项目出现这个的原因是我使用echarts.init()的时候,直接将id绑定在canvas上了。将id绑在div上就会避免这个现象了......

继续访问

移动端-echarts-tooltip不显示提示框

移动端-echarts-tooltip不显示提示框,echart实例销毁

继续访问

移动端 Echart 点击toolTip

tooltip: { trigger: "axis", show: true, formatter: defaultFormatter, enterable: true // 鼠标可以进入提示框 } let defaultFormatter = function (params) { let str = params[0].name || params[0].value[0] + "br/"return clickToo.

继续访问

echarts-taro3-react:taro3.x-react构建的微信小程序echarts组件,及使用示列

echarts-taro3-react 基于Taro3.x-React框架构建的微信小程序版本echarts组件,及使用示例 代码体积过大解决方案: 使用分包, 自定义echart.js,自行前往(注意:版本需要选择4.9.0,不要勾选压缩,可下载下来后自行压缩) 按需构建echart.js,然后替换掉echarts-taro3-react/lib/ec-canvas/echart.js 版本日志: 1.0.11: 新增datazoom功能 1.0.10: 压缩了echarts.js, 代码大小从2.2m下降至543kb 修复了更新数据不能刷新的问题 传送门 特性 Taro3.x React Typescript 功能 柱状图 折线图 饼图 散点图 雷达图 热力图 地图 仪表盘 漏斗图 快速安装 npm i echarts-taro3-react 使用 引入EChart组

ECharts折线图堆叠设置为不堆叠的方法

今天拿到一个多条线的折线图, 但是官网的源码示例是这样的,当我把搜索引擎的周二数据设置为0是并没有在y轴为0上,而是跟上一条线重合了, ECharts折线图是堆叠的,折线图堆叠的意思就是:第二条线的数值=本身的数值+第一条线的数值,第三条的数值=第二条线图上的数值+本身的数值,以此类推...... 设置折线图不堆叠只需要将每一个stack的值设置为不一样的名称或者将stack属性删除即可。 option = { title: { text: '折线图堆叠' ..

继续访问

【echarts】tooltip显示位置设置

echarts中的柱状图或折线图,tooltip默认是根据鼠标的移动而移动,视觉焦点始终是与鼠标保持一致,但有时根据用户需要会对tooltip的位置做特殊处理,让其固定在图形顶部或者鼠标的左侧,具体实现方法如下: 1、tooltip显示框始终固定在图形顶部 //tooltip显示框始终固定在图形顶部 tooltip: { trigger: 'axis', position: function (point, params, dom, rect, size) {

继续访问

echarts 树状图节点太多导致节点重叠,如何调整

由于节点太多导致节点重叠在一起后用户无法正常查看,我们可以根据节点的数量并设置每个节点间的高度动态调整E charts 画布的高度和宽度。 如下代码: html部分: templatediv :style="{height: chartHeight}"div ref="main" style="height: 100%"/div/div/templatejs部分

继续访问

echarts图表相关配置问题整理、自定义图表滚动条样式、x轴label竖直显示、自定义toolltip内容及样式、tooltip位置自适应、图表无数据引用自定义图片、浏览器窗口变化图表自适应更新等

自定义echarts图表滚动条样式: 代码: 图表的html格式为: div className="medicFeeStyl"div id="medicFeePic" style={{ width: '100%', height: '100%' }}/divdiv id="noDataImg6" style={{ width: '100%', height: '100%', display: 'flex', justif.

继续访问

echart tooltip显示不全,溢出屏幕问题

在tooltip下面加入position回调函数 //如果饼图位于屏幕的左侧 position: function(point, params, dom, rect, size){ // size为当前窗口大小 if((size.viewSize[0]/2)=point[0]){ //其中point为当前鼠标的位置,在左侧 return [point[0],point[1]].

继续访问

echart项目里面兼容不同版本

情景:在项目中需要用到echarts新版本的功能,但是发现项目中一直用的是老版本的echarts,假如直接 升级echarts版本就会影响之前echarts图的一下功能; 实现:下载新版本的echarts同时在项目中引入进来,再修改新版本的echarts.js文件,把echarts.js文件中所有的‘echarts’改成‘echarts4’(如果你下载的是echarts.4.0.x 的版本就改成‘echarts4’;如果是echarts.5.0.x 或其他的,就改成 ‘echarts5’或 其他的); 用.

继续访问

解决echarts图表tooltips 被内容遮挡问题

问题描述:在自定义echarts 柱状图时导致tooltips 被柱状图压住。如图: 解决方法:在options中的tooltips设置如下属性: tooltip: { trigger: 'axis', position: function(point,params,dom,rect,size){ dom.style.transform = "translateZ(0)" },

继续访问

echart关系树状图_echarts - 树图实现四个层级

我相信很多人和我一样,制作echats图标时,都会先去demo官网找相同的或者近似的效果,然后再此基础上改进成我们想要的那个。但是近期混迹某微信群时,我看到一个群友抛出问题说,echarts画树状图,自己有四层数据,但是只有三层渲染出来了。我跟他说你去ecahrts官网找个四级的。我记得有的。他说官网的也只有三层,还截图给我看,果然还是被我找到了:数据太多,勉强观看。我甚至还能搞成五层不卖关子。其...

继续访问

echarts 图表,tooltip被容器遮挡,显示不全

echarts图表tooltip显示不全 场景,一个对话框里展示6个eacharts图表,容器高度不够,导致图表的tooltip被遮挡,如图 尝试使用echarts的position属性控制,但效果不好,最后使用 confine属性解决 官方文档解释是 代码实现: options: { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow'

继续访问

怎么设置echarts

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/yw/7893851.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3