echarts解决一些大屏图形配置方案汇总

本文主要记录使用echarts解决各种大屏图形配置方案。

1、说在前面

去年经常使用echarts解决一些可视化大屏项目,一直想记录下使用经验,便于日后快速实现。正好最近在整理文档,顺道一起记录在博客中。详见:http://webhmy.com/2018/06/23/echarts/

2、基本使用

Echarts3.0是通过配置实现图形的,根据不同的配置或者组合配置生成想要的图形。后面主要介绍options中的配置内容。

setOption

// dom表示对应的dom节点,必须指定宽高
var ec = echart.init(dom);

// 根据配置初始化图形,其中options就是配置核心
ec.setOption(options)

tooltip

用于显示提示框

名称 效果
trigger 触发类型:item表示数据项,axis表示坐标轴触发(柱状图/折线图用的多)
formatter 提示框浮层内容格式器,支持字符串模板和回调函数两种形式。
tooltip: {
    trigger: ‘item‘,
    formatter: "{a} <br/>{b} : {c} ({d}%)"
},
  • 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
  • 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)
  • 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)
  • 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)

legend

用于显示图例。

legend: {
    data: data,
    itemGap: 0,
    itemWidth: 15,
    itemHeight: 10,
    bottom: -5,
    left: 30,
    width: ‘500px‘,
    textStyle: {
        color: "#fff",
        fontSize: 14
    }
},

axis

用于显示坐标。

名称 效果
type 坐标轴类型:‘value‘ 数值轴,适用于连续数据。‘category‘ 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据
boundaryGap 坐标轴两边留白策略
splitNumber 坐标轴的分割段数
axisLine 坐标轴轴线相关设置
axisTick 坐标轴刻度相关设置
axisLabel 坐标轴文本相关设置
//纵坐标设置相似
xAxis: [{
    type: ‘category‘,
    boundaryGap: false,
    splitNumber: 5,
    data: xAxis,
    axisLine: {
        show: false
    },
    axisTick: {
        show: false
    },
    axisLabel: {
        show: true,
        textStyle: {
            color: ‘#fff‘,
            fontSize: 14
        }
    }
}]

更多基础使用,详见官网配置项文档

3、图形配置

饼图叠加

饼图是echart的自带的图形,这里只要把颜色设置一下就可以了。难点在于在图上再覆盖一个半透明的圆环,圆环是不可以有hover效果的。

名称 效果
name 图标名称
type 指明图形的类型‘pie‘,‘line‘等
hoverAnimation 鼠标hover是否需要动画
radius 饼图的半径,数组的第一项是内半径,第二项是外半径
center 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。
label 饼图图形上的文本标签,可用于说明图形的一些数据信息
labelLine 标签的视觉引导线样式
data 渲染数据
    series: [{
            name: ‘主要致贫原因‘,
            type: ‘pie‘,
            hoverAnimation: false,
            radius: [10, radiusMax],
            center: [‘50%‘, ‘50%‘],
            label: {
                normal: {
                    formatter: "{b} {d}%",
                    color: ‘#fff‘,
                    fontSize: 14
                }
            },
            labelLine: {
                normal: {
                    lineStyle: {
                        color: ‘#fff‘,
                        opacity: 0.5
                    },
                    length: 1
                }
            },
            data: data
        },
        {
            type: ‘pie‘,
            radius: [10, 18],
            hoverAnimation: false,
            center: [‘50%‘, ‘50%‘],
            cursor: ‘text‘,
            tooltip: {
                show: false
            },
            label: {
                normal: {
                    show: false
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: [{
                //透明圆
                value: 100,
                itemStyle: {
                    normal: {
                        color: ‘#000‘,
                        opacity: 0.3
                    }
                }
            }]
        }
    ]

渐变折线

折线图是echart的自带的图形,这里的难点在于渐变色的设置

名称 效果
itemStyle 图形样式(3.0内部必须加入normal)
areaStyle 区域填充样式。
var option = {
    //仅列举一个,其他2个类似
    series: [{
            name: type === ‘访问用户数(人)‘,
            type: ‘line‘,
            itemStyle: {
                normal: {
                    color: "#cefe56",
                    borderWidth: 2,
                    areaStyle: {
                        //渐变色的设置
                        color: new echarts.graphic.LinearGradient(
                            0, 0, 0, 1, [{
                                offset: 0,
                                color: ‘#cefe56‘
                            }, {
                                offset: 0.5,
                                color: ‘#6d703d‘
                            }, {
                                offset: 1,
                                color: ‘#4d513a‘
                            }]
                        )
                    },
                    lineStyle: {
                        color: "#cefe56",
                        width: 2
                    }
                }
            },
            data: data
        }
    ]
}

叠加刻度线(仪表盘)

图示的图形在echarts中是没有原型的,由于是显示的刻度,因此可以考虑使用type:‘gauge‘ (即仪表盘)来实现,然后隐藏所有只显示仪表盘分割线;通过分析可知该图形是由2个刻度圆形组成,蓝色刻度表示背景,绿色刻度表示具体的占比,总比100%。

名称 效果
radius 仪表盘半径
startAngle 仪表盘起始角度
endAngle 仪表盘结束角度
clockwise 仪表盘刻度是否是顺时针增长
min 最小的数据值
max 最大的数据值
axisTick 刻度样式
splitNumber 仪表盘刻度的分割段数
splitLine 仪表盘分割线样式
axisLine 仪表盘轴线相关配置
pointer 仪表盘指针
detail 仪表盘详情
series: [
    {
        //绿色刻度,蓝色刻度precent值是1
        name: ‘脱贫人数占比‘,
        type: ‘gauge‘,
        animation: true,
        radius: ‘80%‘,
        startAngle: 359.99 * precent / 100,
        endAngle: 0,
        clockwise: false,
        min: 0,
        max: 100,
        axisTick: {
            show: false
        },
        axisLabel: {
            show: false,
        },
        splitNumber: 30 * precent / 100,
        splitLine: {
            show: true,
            length: 7,
            lineStyle: {
                color: ‘#30c3a7‘,
                width: 2
            },
        },
        axisLine: {
            show: false,
            lineStyle: {
                width: 0,
                opacity: 0
            }
        },
        pointer: {
            show: false
        },
        detail: {
            color: ‘#32cfaf‘,
            formatter: ‘{value}%‘,
            fontSize: 14,
            offsetCenter: [‘0%‘, ‘-20%‘]
        },
        title: {
            show: true,
            color: "#fff",
            fontSize: 14,
            offsetCenter: [‘0%‘, ‘20%‘]
        },
        data: [{ value: precent, name: ‘占比‘ }],
    }
]

刻度柱状图

图示的图形在echarts中是没有原型的,其实它提供了另外一个类型:象形柱图,这里可以通过与柱状图的结合叠加组合成效果图。即使用柱状图(type:bar)实现带渐变的柱状图,使用象形柱图(type:pictorialBar)实现中间的间隔,间隔的颜色与背景色相同,造成中间柱状图“缺失”的假象。

名称 效果
barWidth 柱状图显示宽度
itemStyle 柱状图样式
symbol 图形类型提供的标记类型包括 ‘circle‘, ‘rect‘, ‘roundRect‘, ‘triangle‘, ‘diamond‘, ‘pin‘, ‘arrow‘,也可以自定义指定图片
symbolSize 图形的大小
symbolMargin 图形的两边间隔
symbolRepeat 指定图形元素是否重复
series: [{
    name: ‘贫困户人均纯收入‘,
    type: ‘bar‘,
    barWidth: ‘15‘,
    itemStyle: {
        normal: {
            //柱状图渐变
            color: new echarts.graphic.LinearGradient(
                0, 0, 0, 1, [
                    { offset: 0, color: ‘#55c8fe‘ },
                    { offset: 0.3, color: ‘#4dbcf6‘ },
                    { offset: 0.5, color: ‘#3ca3e6‘ },
                    { offset: 0.7, color: ‘#3193db‘ },
                    { offset: 1, color: ‘#2683d0‘ }
                ]
            ),
            //刻度显示在顶部
            label: {
                show: true,
                color: ‘#fff‘,
                position: ‘top‘
            }
        },
    },
    data: data
}, {
    type: ‘pictorialBar‘,
    symbol: ‘rect‘,
    symbolSize: [15, 2],
    symbolMargin: 2,
    symbolRepeat: true,
    itemStyle: {
        normal: {
            color: ‘#101634‘
        }
    },
    tooltip: {
        show: false
    },
    data: data
}]

原文地址:https://www.cnblogs.com/webhmy/p/9222646.html

时间: 2024-08-02 04:47:50

echarts解决一些大屏图形配置方案汇总的相关文章

(转)解决Win7/8硬盘占用高方案汇总

写在前面 在Windows7时代,很少人会抱怨硬盘占用率高的问题.但是到了Windows7/8.1时,硬盘占用率成为一个扰人的问题.硬盘占用率经常100%会导致系统卡.慢,而且也很伤硬盘.网上流传着许多降低Windows8/8.1硬盘占用率的方法,今天,在此汇总一下,通过以下六种方案的处理,硬盘占用率或多或少一定会有所解决! 本帖隐藏的内容 1.关闭家庭组 家庭组是占用硬盘的重要原因之一.有网友反映,在关闭家庭组后,硬盘占用率从90%降到10%左右,这不是耸人听闻.因为开启家庭组后,系统就会不断

海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

概述数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟"零代码"就可以生成API,让API开发从未有过如此便捷!同时支持自定义API查询SQL功能,对您的个性化复杂查询逻辑支持照样不在话下. DataWorks数据服务提供HTTP API服务,采用Serverless架构,您只需关注API本身的查询逻辑,无需关心运行环境等基础设施,零运维成本. Dat

解决圆角离屏渲染方案

最近看了大量的优化tableview方案,为了配合sd下载图片,并且解决圆角图片离屏渲染问题,于是利用category自己写了个处理圆角的方法,解决了离屏渲染问题(并不是非常高效,感觉只是降低了GPU的消耗,但是提升了CPU的消耗,但是好歹也算是能提高一点fps),我还是更推荐使用yyimage下载图片,里面封装了处理圆角图片方法. 下面是代码: // // UIImageView+CornerRadius.m // test // // Created by gkoudai_xsm on 16

echarts大屏展示数据

1.准备工具 1)echarts 去官网下载镜像 https://www.echartsjs.com/zh/download.html 在终端进行 pip 安装 pip install pyecharts-1.7.1-py3-none-any.whl 安装完成之后,我们测试一下, from pyecharts import Bar 报错了,但是并不是因为我们的安装有问题,而是版本不同的问题造成的 from pyecharts.charts import Bar 这样倒入包就没有问题了 用小段代码

NFL原则告诉我们做决策的时候,试图找到一个能解决所有问题,“大而全”的方案是不存在的。我们应当找到最关心的问题,因地制宜做出选择。——聚焦目标,取舍有道!

资源匮乏原则:有限的资源无法满足无穷的需要及欲望:因此想要多一点的某件东西,意味着必须放弃一些其他的东西:因为资源匮乏,所以我们必须做出选择. NFL原则:没有免费午餐定理(No Free Lunch)是wolpert和Macerday提出的"最优化理论的发展"之一.意思是不可能不付出就获得好处. 其结论是,我们比较两种算法A与B:1. 对于所有的问题,A并不总是优于B:2. 对于所有的问题,特定算法并不总是比随机算法好. 经济学原理告诉我们,做决策的时候,试图找到一个能解决所有问题,

基于echarts组件制作数据可视化大屏

什么是数据可视化:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.在实际工作中,数据分析能够帮助管理者进行判断和决策,以便采取适当策略与行动. 数据可视化分析有什么作用:1.现状分析告诉你过去发生了什么,告诉你企业现阶段的整体运营情况,通过各个经营指标的完成情况来衡量企业的运营状态,以说明企业整体运营是更好了还是坏了,好的程度是如何,坏的程度又到哪里. 2.原因分析告诉你某一现状为什么发生,经过第一阶段的现状分析,我们对企业的运营情况有了一个基本的了解,但是不知道运营情况具体好在哪

.NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

目       录 1.      概述... 2 2.      演示信息... 2 3.      简单介绍... 3 4.      产品特点... 4 5.      价值体现... 5 1.   概述 经过一段时间的努力,iNeuDA产品组件已经开发和测试完成,现在正式上线.现在iNeuOS工业互联网操作系统的技术体系和产品体系更佳完善,为中小企业提供更佳全面解决方案.如下图: iNeuDA 一站式大数据分析平台作为国内领先的新一代自助式.探索式分析工具,在产品设 计理念上始终从用户的

如何做大屏数据可视化设计?

文章结构及思维导图: 一.基础概念 1. 什么是数据可视化 把相对复杂.抽象的数据通过可视的方式以人们更易理解的形式展示出来的一系列手段叫做数据可视化,数据可视化是为了更形象地表达数据内在的信息和规律,促进数据信息的传播和应用. 在当前新技术支持下,数据可视化除了"可视",还可有可交流.可互动的特点.数据可视化的本质是数据空间到图形空间的映射,是抽象数据的具象表达. 数据可视化作品<launchit> 作者:Shane Mielke 作者写了本书,地图上显示了世界各地读者的

徒手教你制作运维监控大屏

公司业务的不断发展,紧接而来的是业务种类的增加.服务器数量的增长.网络环境的越发复杂以及发布更加频繁,从而不可避免地带来了线上事故的增多,因此需要对服务器到应用的全方位监控,提前预警. 建立在Zabbix上的服务器监控.基础应用监控(mysql.redis.ES等).预警功能 基本满足底层的监控预警要求,超过设定的阀值就会提前通知相关人员去解决. 有了Zabbix为什么还需要Grafana? Zabbix图表聚合功能非常薄弱,这不是它的强项,而且数据源只限定自己的收集器,图表展示类就是Grafa