点击echarts柱状图动态改变数据项颜色样式

首先附上参考文章连接:https://blog.csdn.net/weixin_42870683/article/details/103528254添加链接描述

今天来实现点击echarts柱状图,动态改变柱状图数据项颜色样式的案例。只要认真做,很容易学会~
在这里插入图片描述

  1. 首先引入ECharts.js文件
<!-- 引入 echarts.js -->
<script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1571424732409"></script>
  1. 为ECharts准备一个div的绘图区域
 <div id="main" style="width: 600px;height:400px;"></div>
  1. 在准备好的div中初始化ECharts组件
var myChart = echarts.init(document.getElementById('main'));
  1. 配置ECharts数据项(为了简单起见,这里使用静态数据)
var option = {
    title: {
        text: 'ECharts 入门示例'
    },
    tooltip: {},
    legend: {
        data: ['销量']
    },
    xAxis: {
        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20],
        itemStyle: {
            normal: {
                label: { show: true },
                color: "#c23531"
            }
        },
    }]
};

上述代码中,series的itemStyle 参数可以设置诸如阴影、透明度、颜色、边框颜色、边框宽度等属性。我们在itemStyle设置柱状图的color为 “#c23531”。

  1. 使用刚指定的数据项配置ECharts图表。
myChart.setOption(option);

这时,我们就得到了一普通的数据曲线图,但此时点击还不能改变颜色
在这里插入图片描述
6. 接下来就是最重要的一步,给ECharts柱状图添加点击事件,当我们点击数据项是,会触发某些事件。也就是记录我们点击的柱子的名称,然后重新渲染ECharts图,渲染同时把对应的柱子改个颜色。
可是在渲染的时候如何改颜色呢?……
这里我们最容易想到,**用一个变量去记录点击柱子的名称,然后在绘制曲线遍历数据项的时候,判断当前遍历的柱子的名字是否于我们点击柱子的名字相同。**很简单的一个if判断。

var checkName='';//点击柱子的名字//添加在代码最上面
myChart.on('click',function(params){
   //点击的柱子的名称
   checkName = params.name;
   //柱形图重构
    myChart.setOption(option);
})
  1. 所以,既然柱子颜色是根据name来判断的,那判断肯定是加在 color:"……" 这里,于是,我们修改数据项series中这是颜色的代码。
color: function (params){
    //通过判断选中的名字改变柱子的颜色样式
     if(checkName === params.name){
         return '#2f4554';  //点击后的颜色
     }else {
         return '#c23531';  //默认颜色
     }

保存,运行,大功告成!是不是很简单~

在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
动态改变数据项的阴影颜色样式,您可以使用 Echarts 的事件处理函数,监听用户的点击事件,并根据用户的操作来改变数据项样式。 下面是一个在 Vue 中实现动态改变数据项阴影颜色样式的示例代码: ```html <template> <div ref="chart" style="width: 600px; height: 400px;"></div> </template> <script> import echarts from 'echarts'; export default { mounted() { // 初始化 Echarts 图表 this.chart = echarts.init(this.$refs.chart); // 配置图表参数 const option = { // 其他配置项 series: [{ type: 'bar', data: [10, 20, 30, 40, 50], itemStyle: { normal: { color: '#3398DB', shadowBlur: 10, shadowColor: 'rgba(0, 0, 0, 0.5)' }, emphasis: { color: '#ffde33', shadowBlur: 20, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] }; // 渲染图表 this.chart.setOption(option); // 监听用户的点击事件 this.chart.on('click', params => { // 获取当前点击数据项的下标 const dataIndex = params.dataIndex; // 获取当前数据项样式配置 const itemStyle = this.chart.getOption().series[0].itemStyle; // 动态修改当前数据项的阴影颜色配置 itemStyle.normal.shadowColor = dataIndex % 2 === 0 ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 0, 0, 0.5)'; itemStyle.emphasis.shadowColor = dataIndex % 2 === 0 ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 0, 0, 0.5)'; // 更新图表的样式配置 this.chart.setOption({ series: [{ itemStyle }] }); }); }, }; </script> ``` 在上面的代码中,我们在 `mounted` 钩子函数中初始化了 Echarts 图表,并配置了一个柱状图的参数。在柱状图的参数中,我们使用了 `itemStyle` 属性来设置数据项样式,包括颜色、阴影模糊度和阴影颜色等。我们还在 `mounted` 钩子函数中监听了用户的点击事件,并根据用户的操作来动态改变数据项的阴影颜色样式。具体地,我们使用了 Echarts 的 `getOption` 方法来获取当前的图表参数,然后根据用户点击数据项的下标来动态修改当前数据项的阴影颜色配置,最后使用 `setOption` 方法来更新图表的样式配置。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值