Echarts「柱状图」基础配置

Echarts「折线图」基础配置

一、使用步骤

1.引入 echarts

(1)在script引入

<script src="https://cdn.bootcss.com/echarts/4.7.0/echarts.min.js"></script>

(2)命令引入

npm i echarts   
//或者
yarn add echarts

main.js全局引入

// 引入echarts
import echarts from 'echarts'

Vue.prototype.$echarts = echarts 
2.准备一个具备大小的 DOM 容器
<div id="main" style="width: 600px;height:400px;"></div>
3.初始化 echarts 实例对象
//this.$echarts.init(document.getElementById('main')).dispose(); //销毁前一个实例
var myChart = this.$echarts.init(document.getElementById('main'))
4.指定配置项和数据(option)
var option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [820, 932, 901, 934, 1290, 1330, 1320],
      type: 'bar'
    }
  ]
}
5.将配置项设置给 echarts 实例对象
myChart.setOption(option)

二、Echarts-基础配置

需要了解的主要配置title legend tooltip grid color xAxis yAxis series

title:标题组件,包含主标题和副标题
legend:图例组件,展现了不同系列的标记,颜色和名字。可以通过点击图例控制哪些系列不显示
tooltip:提示框组件
grid:直角坐标系内绘图网格
color:调色盘颜色列表。如果系列没有设置颜色,则会依次循环从默认列表中取颜色作为系列颜色
xAxis:直角坐标系 grid 中的 x 轴
yAxis:直角坐标系 grid 中的 y 轴
series:系列列表。每个系列通过 type 决定自己的图表类型,bar:柱状图,line:折线图

三、柱状图图表根据需求定制

title图表标题配置
  • 居中显示标题和副标.
    如果 left 的值为 'left', 'center', 'right',组件会根据相应的位置自动对齐
    如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐
  • textStyle标题字体18px颜色为#617be3
title: {
     text: '标题',
     subtext: '副标题',  //副标题
     left: 'center',   
     top: '10px',
     bottom:'auto',
     textStyle: {
        fontSize: 18,
        color: '#617be3'
     }
},
legend图例配置
  • 更改图例文字大小颜色以及位置
legend: {
    // 距离容器10%
    right: "10%",
    // 修饰图例文字的颜色
    textStyle: {
     color: "#4c9bfd",
     fontSize: "12"
   }
  // data: ["旅游行业", "游戏行业"]   // 如果series 里面设置了name,此时图例组件的data可以省略
},
tooltip提示框配置
  • 悬浮显示当前柱子数据
//trigger:可选item:数据项图形触发(散点图,饼图) || axis:坐标轴触发(柱状图,折线图)  || none:什么都不触发
tooltip: {
   trigger: 'axis', 
    // formatter: '{a} <br/>{b} : {c} ({d}%)'
    formatter: '{c}',  //折线图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
    axisPointer: {
      type: 'shadow', //line:直线指示器 || shadow:阴影指示器  || none 无指示器 || cross 十字准星指示器
    }
 },
grid绘图网格配置
  • 修改图表柱形颜色#2f89cf
  • 修改图表大小top 为 10px bottom 为 4% .grid 决定我们的柱状图的大小
color: ["#2f89cf"],
grid: {
  left: "0%",
  top: "10px",
  right: "0%",
  bottom: "4%",
  containLabel: true  //grid 区域是否包含坐标轴的刻度标签
},
color配置
//默认颜色表盘
color: ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83',  '#ca8622', '#bda29a','#6e7074', '#546570', '#c4ccd3']
X 轴相关设置 xAxis
  • 文本颜色设置为rgba(255,255,255,.6)字体大小为 12px
  • X 轴线的样式 不显示
  • 去掉x轴刻度
  • 修饰刻度标签的颜色
// 设置x轴标签文字样式
// x轴的文字颜色和大小
axisLabel: {
  color: "rgba(255,255,255,.6)",
  fontSize: "12"
},
// 修饰刻度标签的颜色  //或者通过textStyle设置
axisLabel: {
    textStyle: { 
       color: '#fff',
       fontWeight: 'normal',
       fontSize: '12',
     },
    //标签竖着显示
    formatter: function (val) {
        return val.split("").join("\n")
    },
//  x轴样式设置
axisLine: {
    show: false   //显示或隐藏
    // 如果想要设置单独的线条样式
     lineStyle: {
        color: "rgba(255,255,255,.1)",
        width: 1,
        type: "solid"
     }
},
// 刻度设置
axisTick: {
    show: false  // 去除刻度
},
//坐标轴两边留白策略
boundaryGap: true,  //一般柱状图要留白  折线图不用
Y 轴相关定制yAxis
  • 文本颜色设置为rgba(255,255,255,.6) 字体大小为 12px
  • Y 轴线条样式 更改为 1 像素的rgba(255,255,255,.1)边框
  • 分隔线的颜色修饰为 1 像素的rgba(255,255,255,.1)
// y 轴文字标签样式
axisLabel: {
   textStyle: {
      color: "rgba(255,255,255,.6)",
       fontSize: "12"
   }
},
 // y轴线条样式
axisLine: {
    lineStyle: {
       color: "rgba(255,255,255,.1)",
       // width: 1,
       // type: "solid"
    }
},
 // y 轴分隔线样式
splitLine: {
    lineStyle: {
       color: "rgba(255,255,255,.1)"
     }
}
series图标数据相关配置
  • 修改柱子宽度barWidth
  • 修改柱形为圆角
  • 为每个柱子定义不同颜色且在柱子上方显示数据
series: [{
        name: "直接访问",
        type: "bar",
        // 修改柱子宽度
        barWidth: "35%",
        data: [10, 52, 200, 334, 390, 330, 220],
        itemStyle: {
            // 修改柱子圆角
            barBorderRadius: 5,
            //定义柱子不同颜色
            normal: {
                color: function (params) {
                    var colorList = [
                      '#67C23A', '#B5C334', '#ffa41b', '#E87C25', '#27727B',
                      '#FE8463', '#9BCA63', '#FAD860', '#F3A43B', '#60C0DD',
                      '#D7504B', '#C6E579', '#F4E001', '#F0805A', '#26C0C0'
                    ];
                    return colorList[params.dataIndex]
                },
                //显示柱子上方数据
                label: {
                  show: true,
                  position: 'top',
                  formatter: '{b}:{c}'   //折线图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
                }
            }
        }
        //折线图选项
        //smooth: true,折线比较圆滑,平稳过渡
}]
更换对应数据
// x轴中更换data数据
 data: [ "旅游行业","教育培训", "游戏行业", "医疗行业", "电商行业", "社交行业", "金融行业" ],
// series 更换数据
 data: [200, 300, 300, 900, 1500, 1200, 600]
让图表跟随屏幕自适应
window.addEventListener('resize', function() {
  myChart.resize()
})
注意:
  • echarts初始化要在mounted中进行,等dom元素挂载完毕
  • 若是使用tab切换echarts,则使用watch监听tab变化同时用v-if重新渲染页面,并且可以销毁前一个echarts实例
this.$echarts.init(document.getElementById('main')).dispose() //销毁前一个echarts实例
 watch: { // 监测变化
    tabIndex(value) {
      if (value == 0) {
        this.$nextTick(() => {
          this.drawLine()
        })
      } else if (value == 2) {
        this.$nextTick(() => {
          this.drawBar()
        })
      }
    }
  },

echarts官网
echarts社区

配置后
配置前
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 一、简单入门 1.从官网下载echarts http://echarts.baidu.com/download.h...
    X_smart阅读 2,766评论 0 7
  • 1.背景介绍 Echarts是什么 ECharts来自百度EFE数据可视化团队①,是一个纯 Javascript ...
    ithinker5阅读 673评论 0 2
  • Echarts总结 简介:js图标库,可以兼容在pc和移动端。Echarts底层使用canvas实现,支持多图表、...
    窝头咸菜阅读 8,189评论 0 4
  • This chapter covers the basic setup for using this librar...
    ngugg阅读 993评论 0 1
  • 周末最后一天,因为前一晚写文章到很晚,早上睡到很晚才起床。透过窗子一下就看到大雪覆盖了整个西宁城,因为气温很低很低...
    晕啦阅读 228评论 0 1