echart legend和 tooltip自定义内容和形状;x轴y轴修改样式

在这里插入图片描述


<div ref="pie" style="height:220px; width: 80%;"></div>


   getPie() {
        const pie = this.$refs.pie
        const pieChart = this.$echarts.init(pie, 'light')
        let seriesDataPie = [];
        var res = [
          { value: 1048, name: '父亲' },
          { value: 735, name: '母亲' },
          { value: 580, name: '哥哥' },
          { value: 484, name: '姐姐' },
          { value: 300, name: '妹妹' }
        ]
        // request.getData({ thisMonth: 1 }).then(({
        request.getData().then(({
          object
        }) => {
          console.log("33333", object)

          if (res.length > 0) {
            const total = 10
            const option = {
              title: {},
              tooltip: {
                trigger: 'item',
                formatter: "{b}:{c}"
              },
              legend: {
                top: 'center',
                orient: 'vertical',
                right: 'right',
                icon: "circle",   //  字段控制形状  类型包括 circle,rect,line,roundRect,triangle,diamond,pin,arrow,none

                formatter: function (name) {
                  var data = res;
                  var total = 0;
                  var target;
                  data.forEach((item, index) => {
                    total += data[index].value;
                    if (data[index].name == name) {
                      target = data[index].value;
                    }
                  })
                  return name + '  ' + target;
                  //return ((target / total) * 100).toFixed(2) + '%'
                },

              },
              series: [
                {
                  type: 'pie',
                  radius: ['50%', '70%'],
                  center: ["40%", "60%"],
                  label: {
                    show: false,
                    position: 'center'
                  },
                  emphasis: {
                    label: {
                      show: true,
                      fontSize: '20',
                      fontWeight: 'bold',
                      formatter: "{b}:{d}%" /*饼状图内显示百分比*/,
                    },
                  },

                  data: res
                }
              ]
            }

            pieChart.setOption(option)

            window.addEventListener('resize', function () {
              pieChart.resize()
            })
            this.$on('hook:destroyed', () => {
              window.removeEventListener('resize', () => {
                pieChart.resize()
              })
            })
          } else {
            this.msg = '暂无数据'
          }
        })
      },
   

在这里插入图片描述

          <div ref="barMonitor" style="height:240px;" :class="{'chartMsg':msg!=''}" v-html="msg">{{ msg }}</div>


   getBarMonitor() {
        const barMonitor = this.$refs.barMonitor
        const barMonitorChart = this.$echarts.init(barMonitor, 'light')
        barMonitor.removeAttribute("_echarts_instance_");
        request.getData().then(res => {
          const data = [{ time: 1, value: 120 }, { time: 2, value: 200 }, { time: 3, value: 150 },
          { time: 4, value: 80 }, { time: 5, value: 70 }, { time: 6, value: 110 },
          { time: 7, value: 130 }, { time: 8, value: 80 }, { time: 9, value: 90 },
          { time: 10, value: 100 }, { time: 11, value: 110 }, { time: 12, value: 120 }]
          var time = []
          var value = []
          data.forEach((item) => {
            time.push(item.time + "月")
            value.push(item.value)
          })
          const _this = this
          if (barMonitor && data.length > 0) {
            const option = {
              'grid': {
                'top': '40',
                'left': '0',
                'bottom': '5%',
                'right': '0',
                'containLabel': true
              },
              xAxis: {
                type: 'category',
                date: time,
                axisLine: {
                  show: false,
                },
                axisLabel: {//y轴文字的配置
                  textStyle: {
                    color: "#999",//Y轴内容文字颜色
                  },
                },
                axisLine: {//y轴线的配置
                  show: true,//是否展示
                  lineStyle: {
                    color: "#ECEDF0",//y轴线的颜色(若只设置了y轴线的颜色,未设置y轴文字的颜色,则y轴文字会默认跟设置的y轴线颜色一致)
                    width: 1,//y轴线的宽度
                    type: "solid"//y轴线为实线
                  },
                },
              },
              yAxis: {
                type: 'value',
                axisLine: {
                  show: false,
                },
                axisLabel: {//y轴文字的配置
                  textStyle: {
                    color: "#999",//Y轴内容文字颜色
                  },
                },
                axisLine: {//y轴线的配置
                  show: true,//是否展示
                  lineStyle: {
                    color: "#fff",//y轴线的颜色(若只设置了y轴线的颜色,未设置y轴文字的颜色,则y轴文字会默认跟设置的y轴线颜色一致)
                    width: 1,//y轴线的宽度
                    type: "solid"//y轴线为实线
                  },
                },
                splitLine: {//分割线配置
                  show: true,
                  lineStyle: {
                    color: "#f5f5f5",
                  },
                },
              },
              series: [
                {
                  data: value,
                  type: 'bar',
                  barWidth: 15,
                  color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1,
                    [
                      { offset: 0, color: "#35c0fd" },
                      { offset: 1, color: "#2c77f3" }
                    ],
                    false
                  ) // 渐变
                }
              ]
            }

            barMonitorChart.setOption(option)
            window.addEventListener('resize', function () {
              barMonitorChart.resize()
            })
            this.$on('hook:destroyed', () => {
              window.removeEventListener('resize', () => {
                barMonitorChart.resize()
              })
            })
          } else {
            this.msg = '暂无数据'
          }
        }).catch()
      },
    
legend: {
  icon: "circle",   //  字段控制形状  类型包括 circle,rect,line,roundRect,triangle,diamond,pin,arrow,none
  itemWidth: 10,  // 设置宽度
  itemHeight: 10, // 设置高度
  itemGap: 40 // 设置间距
},
 icon 可自定义图片
  icon : 'image://../../images/hsyb/water.png'   /* image://  后跟图片路径*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Echarts中的xtype为time表示x的数据类型为间类型,可以用于展示间序列数据。在使用,需要将数据按照间顺序排列,并设置好间格式。同,可以通过设置interval属性来控制的刻度间隔,以便更好地展示数据。 ### 回答2: Echarts是一款强大的数据可视化库,其中xtype为time(间类型)可以实现按照间进行横坐标展示,适用于对间序列数据进行展示和分析的场景。与其他类型不同的是,使用time类型坐标要注意以下几点: 1. 数据类型:time类型坐标的数据类型必须为间格式,可以是间戳或字符串格式,例如"2019-01-01"、“20190101”、“2019/01/01”等等。 2. 类型:time类型坐标有两种类型:连续型和离散型。连续型指的是上的数值是连续变化的,如小、分钟、秒等;离散型指的是上的数值是离散的,如日期、月份、年份等。 3. 间格式:间格式需要根据实际数据的间格式进行配置,如年月日分秒格式可以配置为yyyy-MM-dd HH:mm:ss。 4. 分割间隔:可以根据实际需求设置分割间隔,如设置为每小显示一个刻度。 使用time类型坐标能让我们更方便地对间序列数据进行可视化展示,方便我们更好的进行数据分析和决策。对于间序列数据分析,Echarts的time类型坐标是一个非常实用的工具。 ### 回答3: Echarts 是一个基于 JavaScript 开发的开源可视化库,为用户提供了强大的数据可视化功能。其中,x 是图表中的一个重要组成部分,它用于描述图表中数据的横向展示方式。而在 Echarts 中,可以通过设置 x 的 type 属性为 time,来实现基于间戳的图表展示。 在 Echarts 中,x 的 type 属性支持多种类型,如数值(value)、类目(category)等。而在将 x 的 type 属性设置为 time 后,Echarts 将会自动将其视为一个,通过设置刻度间隔、自动计算坐标的范围等方式,让用户能够更好地展示间相关的数据。 当 x 的 type 属性设置为 time 后,Echarts 提供了一些常用的间类型格式,如日期(如"2017-11-01")和间戳(以毫秒为单位)。用户可以根据实际的间数据格式来进行设置。同Echarts 还支持自定义标签的显示格式,比如通过设置 axisLabel 属性中的 formatter 函数来格式化间标签的显示。 使用 x 的 type 属性为 time 的好处在于,能够有效地处理间序列数据,并能够自动根据间间隔进行坐标的刻度展示,从而更好地呈现数据的趋势。对于需要展示间相关数据的情况下,x type 为 time 的选择是非常可取的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值