Echarts立体柱状图(颜色渐变,数据颜色跟随柱子颜色)

效果图

在这里插入图片描述

代码
//公交线路客流量排行
var buyTop = echarts.init(document.getElementById('fluxorder'));  //图表容器
var color1 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#2673fb" }, { offset: 1, color: "#5711ba" }], false);
var color2 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#ffd914" }, { offset: 1, color: "#fb9005" }], false);
var color3 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#2673fb" }, { offset: 1, color: "#5711ba" }], false);
var color4 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#04cae4" }, { offset: 1, color: "#00c69b" }], false);
var color5 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#00c69b" }, { offset: 1, color: "#04cae4" }], false);
var color6 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#ffd914" }, { offset: 1, color: "#fb9005" }], false);
var color7 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#04cae4" }, { offset: 1, color: "#00c69b" }], false);
var color8 = new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ offset: 0, color: "#fc686f" }, { offset: 1, color: "#df3771" }], false);

var option = {
   
  color: [color1, color2, color3, color4, color5, color6, color7, color8], //控制主要渐变色用
  color2: ["#2673fb", "#ffd914", "#2673fb", "#04cae4", "#00c69b", "#ffd914", "#04cae4", "#fc686f"], //背景色不需要渐变,后面改透明度即可
  tooltip: { axisPointer: { type: 'shadow' } },
  xAxis: { type: 'category', axisLabel: { show: false,margin: 20 }, data: [] ,offset: 20,
  axisTick: {
    show: false,
  },
  axisLabel: {
    interval: 0,
    margin: 0,
    textStyle: {
      color: '#02c3bb',
      fontStyle: 'normal',
      fontSize: 16,
    }
  }},
  yAxis: { type: 'value', axisLabel: { show: false,margin: 20 },splitLine: {
    show: true,
    lineStyle: {
      type: 'dashed',
      color: '#155866',
      opacity: '0.5'
    }
  },
  axisTick: {
    show: false
  },
  axisLabel: {
    fontSize: 16,
    textStyle: {
      color: '#01c7b0'
    },
  },
  boundaryGap: false },
  grid: {  //图表的上下左右的距离
    left: '10%',
    right: '4%',
    bottom: '13%',
    top: '11%',
    padding: '0 0 0 0',
    containLabel: true,
  },
  graphic: [
    {
      type: 'image',
      style:{
      image:'../img/bgimg/wgbg.png',
      x:130,
      y:30,
      width:630,
      height:200
      }
    }
  ],
  series: [

    {
      name: '标签',
      type: 'pictorialBar',
      symbol: 'rect',
      symbolSize: ['40', '100%'],
      data: [],
      z: 2,
      symbolOffset: ['0', '-15'],
     
    },
    {
      name: 'b',
      stack: 'amount',
      tooltip: { show: false },
      type: 'pictorialBar',
      symbol: 'diamond',
      symbolSize: ['40', '30'],
      symbolOffset: ['0', '-29.8'],
      symbolPosition: 'end',
      data: [],
      z: 3,
    },
    {
      name: 'c',
      stack: 'amount',
      tooltip: { show: false },
      type: 'pictorialBar',
      symbol: 'diamond',
      symbolSize: ['40', '30'],
      symbolPosition: 'start',
      data: [],
      z: 3
    },
    {
      name: 'd',
      tooltip: { show: false },
      type: 'pictorialBar',
      symbol: 'rect',
      symbolSize: ['40', '100%'],
      data: [],
      z: 0,
      symbolOffset: ['0', '-15']
    },
    {
      name: 'e',
      stack: 'amount',
      tooltip: { show: false },
      type: 'pictorialBar',
      symbol: 'diamond',
      symbolSize: ['40', '30'],
      symbolOffset: ['0', '-28.4'],
      symbolPosition: 'end',
      data: [],
      z: 0
    },
    {
      name: 'f',
      stack: 'amount',
      tooltip: { show: false },
      type: 'pictorialBar',
      symbol: 'triangle',
      symbolSize: ['40', '15'],
      symbolOffset: ['0', '-32.3'],
      symbolPosition: 'end',
      data: [],
      z: 0
    },
    
  ]
};
//假数据如下开始
option.series[0].name = "数量";
var data = [
  {color:"#2674fc", name: "杭商院北门", value: 61, maxvalue: 200 },
  {color:"#fb9005", name: "港边路口", value: 86, maxvalue: 200 },
  {color:"#2674fc", name: "张陈家", value: 67, maxvalue: 200 },
  {color:"#03c9db", name: "马家", value: 43, maxvalue: 200 },
  {color:"#03c9db", name: "马家村", value: 52, maxvalue: 200 },
  {color:"#fb9005", name: "未来学校", value: 70, maxvalue: 200 },
  {color:"#03c9db", name: "金竹新村", value: 28, maxvalue: 200 },
  {color:"#ec4767", name: "学府小学", value: 107, maxvalue: 200 }
];
for (var i = 0; i < data.length; i++) {
  option.xAxis.data.push(data[i].name);
  option.series[0].data.push({
    value: data[i].value,
    itemStyle: { color: option.color[i % (option.color.length)] },
    animation: false
  });
  option.series[1].data.push({
    value: data[i].value,
    itemStyle: { color: option.color[i % (option.color.length)] },
    label: {
      show: true,  //开启显示
      position: 'top',  //在上方显示
      textStyle: {  //数值样式 跟随柱体颜色 
        fontSize: 12,
        color:data[i].color
      },
    },
    animation: false
  });
  option.series[2].data.push({
    value: 4.5,
    itemStyle: { color: option.color2[i % (option.color2.length)] },
    animation: false
  });
  option.series[3].data.push({
    value: data[i].maxvalue+3.5,
    itemStyle: { color: option.color2[i % (option.color.length)], opacity: 0.3 },
    emphasis: { itemStyle: { color: option.color2[i % (option.color.length)] } },
    animation: false
  });
  option.series[4].data.push({
    value: data[i].maxvalue+3.5,
    itemStyle: { color: option.color2[i % (option.color.length)], opacity: 0.3, },
    emphasis: { itemStyle: { color: option.color2[i % (option.color.length)] } },
    animation: false
  });
  option.series[5].data.push({
    value: data[i].maxvalue,
    itemStyle: { color: option.color2[i % (option.color.length)], opacity: 0.3, },
    emphasis: { itemStyle: { color: option.color2[i % (option.color.length)] } },
    animation: false
  });
}
//初始化echarts
buyTop.setOption(option);

//站台上下客人数排行
var updown = document.getElementById('updown');
var updowndata = [["马家村", "马家", "张陈家", "港边路口", "杭商院北门"], [10, 13, 15, 18, 23],]
function updownNum(dom, data) {
  var updown = echarts.init(dom)
  // 指定图表的配置项和数据
  var undownoption = {
    grid: {  //图表的上下左右的距离
      left: '10%',
      right: '4%',
      bottom: '10%',
      top: '8%',
      padding: '0 0 0 0',
      containLabel: true,
    },
    tooltip: {},
    xAxis: {
      axisLabel: {
        show: false
      },
      splitLine: {
        show: false
      }
    },
    yAxis: {
      type: "category",
      data: data[0],
      axisLine: {
        show: false
      },
      axisTick: {
        show: false
      },
      axisLabel: {
        textStyle: {
          color: '#00c0d3',
          fontStyle: 'normal',
          fontSize: 16,
        }
      }

    },
    series: [
      {
        name: '人数',
        type: 'pictorialBar',
        z: -1,
        barWidth: 15,
        data: data[1],
        symbol: 'image://../img/bgimg/zhuzhuangtu.png',
        symbolOffset: [0, '60%'],
        // symbolSize1:['100%', '100%'],
        itemStyle: {
          normal: {
            color: new echarts.graphic.LinearGradient(
              0, 0, 1, 0,
              [
                { offset: 0, color: '#112e4f' },
                { offset: 1, color: '#0380e1' }
              ]
            ),
            label: {
              // show: true, //开启显示
              position: 'right',
              textStyle: { //数值样式
                color: '#00c0d3',
                fontSize: 16
              }

            },
          },

        }
      },
      {
        name: '人数',
        type: 'pictorialBar',
        data: data[1],
        barWidth: 35,
        z: 1,
        symbol: 'react',
        symbolRepeat: 'fixed',

        symbolSize: ['6%', '100%'],
        symbolMargin: 1,
        itemStyle: {
          normal: {
            color: new echarts.graphic.LinearGradient(
              0, 0, 1, 0,
              [
                {
                  offset: 0,
                  color: 'rgba(0, 122, 204, 0.2)'
                },
              ]
            ),
            label: {
              show: true, //开启显示
              position: 'insideRight',
              textStyle: { //数值样式
                color: '#00ffff',
                fontStyle: 'italic',
                fontSize: 16
              }

            },
          },

        }
      },

    ]
  };
  // 使用刚指定的配置项和数据显示图表。
  updown.setOption(undownoption);
}
updownNum(updown, updowndata)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要给Echarts3D饼图增加透明度,可以使用Echarts提供的相关配置项和属性。 首先,需要在Echarts的option对象中设置series数组中的相关属性。在series数组中找到饼图对应的对象,通常是一个对象中有type属性值为'pie'。然后,在该对象中,可以设置itemStyle属性。 itemStyle属性控制饼图的样式,其中的normal属性用于设置默认状态下的样式。在normal属性中,可以设置各个扇区的颜色,透明度,以及其他样式。要设置透明度,可以使用color属性。 举例来说,若要设置为饼图的透明度为50%(即透明度为0.5),可以这样设置: ``` itemStyle: { normal: { color: 'rgba(255, 0, 0, 0.5)' // 这里的rgba表示红色,最后一个参数表示透明度,取值范围为0到1 } } ``` 同时,还可以使用渐变色和其他样式来进一步美化饼图。设置好相关样式后,将整个配置项对象传递给Echarts实例,并渲染图表即可。 总结起来,要给Echarts3D饼图增加透明度,需要在饼图对应的series对象的itemStyle属性中的normal属性中设置颜色对应的透明度,然后传递整个配置项对象给Echarts实例,最终渲染出带有透明度的饼图。 ### 回答2: 要在echarts3d饼图中增加透明度,可以通过设置图表的系列系列项中的itemStyle属性来实现。 首先,需要在图表的option中找到对应的系列(series)项。在系列项中,可以设置每个数据项的样式。对于饼图,每个数据项可以通过设置itemStyle属性来单独设置样式。 在itemStyle属性中,可以设置opacity属性来控制透明度。透明度的取值范围是0到1,其中0表示完全透明,1表示完全不透明。通过调整opacity的值,我们可以实现饼图的透明效果。 例如,我们可以将透明度设置为0.5,代码如下: series: [{ type: 'pie', data: [ {value: 335, name: '直接访问'}, {value: 310, name: '邮件营销'}, {value: 234, name: '联盟广告'}, {value: 135, name: '视频广告'}, {value: 1548, name: '搜索引擎'} ], itemStyle: { opacity: 0.5 } }] 通过以上代码,我们设置了饼图中每个数据项的透明度为0.5,从而实现了透明效果。 需要注意的是,以上代码仅仅是示例,具体的设置要根据你的实际情况来修改。此外,echarts3d还支持其他的图表样式和配置项,你可以根据需求进行相应的调整和修改。 ### 回答3: 要给echarts3d饼图增加透明度,可以通过设置图形系列中的itemStyle属性来实现。首先,需要将series中的type设置为'pie'来表示使用饼图。然后,在itemStyle中设置color为需要的颜色值,并通过设置colorAlpha属性来控制透明度。 例如,可以按照以下步骤来设置echarts3d饼图的透明度: 1. 在option对象中找到series数组,将type属性设置为'pie',示例如下: ```javascript option = { series: [ { type: 'pie', // 其他配置项 } ] }; ``` 2. 在series数组中找到itemStyle属性,并设置color为所需颜色值,示例如下: ```javascript option = { series: [ { type: 'pie', itemStyle: { color: '#000000', // 设置颜色值 // 其他配置项 } } ] }; ``` 3. 在itemStyle中增加colorAlpha属性,设置透明度,取值范围为0到1之间,0代表完全透明,1代表完全不透明。示例如下: ```javascript option = { series: [ { type: 'pie', itemStyle: { color: '#000000', colorAlpha: 0.5 // 设置透明度为50% // 其他配置项 } } ] }; ``` 通过以上三个步骤,即可给echarts3d饼图增加透明度。根据实际需求,可以根据具体颜色和透明度的要求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LBY_XK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值