zoukankan      html  css  js  c++  java
  • ecahrt table+柱状图

    1.首先循环画板

    <el-table-column
                          prop="electricity"
                          label="节超"
                          width="500px"
                        >
                          <template slot-scope="scope">
                      //id的唯一性
                            <div :id='`chart${scope.row.index}`' class="chart"></div>
                          </template>
                        </el-table-column>

      created () {
    //因为他是表格里面的画板,画板还没有生成获取不到
    //所以要在nextTick函数中初始化
        this.$nextTick(function () {
          let self = this
          self.tableData.forEach((value, index) => {
            this.drawBarChart(value, index + 1)
          })
        })
      },

    2.数据的初始化

        drawBarChart (value, index) {
          // 基于准备好的dom,初始化echarts实例
          let chartType = this.getValueType(value.electricity)
          let drawBarChart = this.$echarts.init(document.getElementById('chart' + index))
          // 绘制图表
          drawBarChart.setOption({
            tooltip: {
              show: false
            },
            grid: chartType.grid,
            xAxis: {
              show: false
            },
            yAxis: {
              type: 'category',
              axisLabel: { show: false },
              axisTick: { show: false },
              splitLine: { show: false },
              data: chartType.data,
              axisLine: {
                show: true,
                lineStyle: {//y轴的颜色
                  type: 'solid',
                  color: '#fff',
                   '1'
                }
              }
            },
            series: [
              {
                name: '',
                type: 'bar',
                stack: '总量',
                label: {
                  normal: {
                    show: true,
                    formatter: '{c|{c}}{d|万kwh}',  //自定义柱状图上面显示的文字
                    rich: {//文字上的样式
                      c: {
                        fontSize: 16,
                        fontWeight: 'bold',
                        color: '#fff'
                      },
                      d: {
                        fontSize: 12,
                        fontWeight: 'normal',
                        color: '#fff'
                      }
                    }
                  }
                },
                barWidth: 40,//每个柱子的宽度
                itemStyle: {
                  normal: {
                    shadowColor: chartType.shadowColor, //阴影
                    shadowBlur: 15,//阴影的范围
                    barBorderRadius: chartType.barBorderRadius,//柱状体的圆角
                    color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [ //渐变色
                      { offset: 0.2, color: chartType.color1 },
                      { offset: 1, color: chartType.color0 }
                    ]),
                    label: { //柱状体中文字的显示位置
                      show: true,
                      position: chartType.position,
                      textStyle: {
                        color: '#ffffff',
                        fontSize: '16px'
                      }
                    }
                  }
                },
                data: [
                  { value: value.electricity,label: chartType.labelRight }
                ]
              }
            ]
          })
        }
  • 相关阅读:
    居敬持志
    测试内容
    TestMarkDown
    git
    面试题
    兼容的可视区高度和宽度
    JS(数据类型、预解析、闭包、作用域、this)
    JavaScript new 一个构造函数
    Windows下gm打水印老是报gm convert: Unable to read font (n019003l.pfb)问题
    如何开始一个vue+webpack项目
  • 原文地址:https://www.cnblogs.com/joer717/p/11011957.html
Copyright © 2011-2022 走看看