Echarts柱状图,更改柱子的颜色后,legend不跟随设置的颜色改变,还是原来的颜色,求解?

发布于 2022-09-13 00:05:26 字数 5619 浏览 20 评论 0

Echarts柱状图,使用itemStyle.normal.color设置柱子的颜色后,legend不跟随设置的颜色改变,还是原来的颜色,求解?

<script type="text/javascript">
            var color = ["#CC00FF","#FFC0CB","#FF69B4","#DDA0DD","#FF00FF","#9400D3","#8A2BE2"]
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
var app = {};

var option;



option = {
    title: {
        text: '累计收入完成情况',
         x:'center'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {            // 坐标轴指示器,坐标轴触发有效
            type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
        }
    },
    legend: {
        data: [ '一月累计金额', '二月累计金额', '三月累计金额', '一月预算金额', '二月预算金额', '三月预算金额'],
         padding: 30,
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            data: ['1月', '1-2月', '1-3月']
        }
    ],
    yAxis: [
        {
            type: 'value',
           
        }
    ],
    series: [
        
        {
            name: '一月累计金额',
            type: 'bar',
            stack: '累计至本月金额',    //决定是否在一个堆积图中
            emphasis: {
                focus: 'series'
            },
            data: [131, 131, 131],
             itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                       color:function(p){

                                return color[1]

                        }
                   },
                    
               }
        },
        {
            name: '二月累计金额',
            type: 'bar',
            stack: '累计至本月金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', 132, 132],
            itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                        color:function(p){

                                return color[2]

                        }
                   }
               }
        },
        {
            name: '三月累计金额',
            type: 'bar',
            stack: '累计至本月金额',
            emphasis: {
                focus: 'series'
            },
            data: ['','', 101],
            itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                        color:function(p){

                                return color[3]

                        }
                   }
               }
        },
        
        {
            name: '一月预算金额',
            type: 'bar',
            barWidth: 20,
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: [230, 230, 230],
            itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                        color:function(p){

                                return color[1]

                        }
                   }
               }
        },
        {
            name: '二月预算金额',
            type: 'bar',
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', 132, 132],
            itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                        color:function(p){

                                return color[2]

                        }
                   }
               }
        },
        {
            name: '三月预算金额',
            type: 'bar',
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', '', 101],
            itemStyle: {
                   normal: {
                       label: {
                           show: true,      //开启显示
                           position: 'top', //在上方显示
                           textStyle: {     //数值样式
                               fontSize: 10
                           }
                       },
                        color:function(p){

                                return color[3]

                        }
                   }
               }
        },
        
    ]
};

if (option && typeof option === 'object') {
    myChart.setOption(option);
}

        </script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥抱我好吗 2022-09-20 00:05:26

normal 的 color 属性只能控制曲线中的颜色,如果想要修改默认图例颜色,可以修改 option 的 color 属性。

// var color = ["#CC00FF", "#FFC0CB", "#FF69B4", "#DDA0DD", "#FF00FF", "#9400D3", "#8A2BE2"]
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
var app = {};

var option;

option = {
    color: ["#FFC0CB", "#FF69B4", "#DDA0DD", "#FF00FF", "#9400D3", "#8A2BE2"],
    title: {
        text: '累计收入完成情况',
        x: 'center'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: { // 坐标轴指示器,坐标轴触发有效
            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
        }
    },
    legend: {
        data: ['一月累计金额', '二月累计金额', '三月累计金额', '一月预算金额', '二月预算金额', '三月预算金额'],
        padding: 30,
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [{
        type: 'category',
        data: ['1月', '1-2月', '1-3月']
    }],
    yAxis: [{
        type: 'value',

    }],
    series: [

        {
            name: '一月累计金额',
            type: 'bar',
            stack: '累计至本月金额', //决定是否在一个堆积图中
            emphasis: {
                focus: 'series'
            },
            data: [131, 131, 131],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {
                    //     console.log('p', p)
                    //     console.log('color[1]', color[1])

                    //     return color[1]

                    // }
                },

            }
        },
        {
            name: '二月累计金额',
            type: 'bar',
            stack: '累计至本月金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', 132, 132],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {

                    //     return color[2]
                    // }
                }
            }
        },
        {
            name: '三月累计金额',
            type: 'bar',
            stack: '累计至本月金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', '', 101],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {

                    //     return color[3]

                    // }
                }
            }
        },

        {
            name: '一月预算金额',
            type: 'bar',
            barWidth: 20,
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: [230, 230, 230],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {

                    //     return color[1]

                    // }
                }
            }
        },
        {
            name: '二月预算金额',
            type: 'bar',
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', 132, 132],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {

                    //     return color[2]

                    // }
                }
            }
        },
        {
            name: '三月预算金额',
            type: 'bar',
            stack: '累计预算金额',
            emphasis: {
                focus: 'series'
            },
            data: ['', '', 101],
            itemStyle: {
                normal: {
                    label: {
                        show: true, //开启显示
                        position: 'top', //在上方显示
                        textStyle: { //数值样式
                            fontSize: 10
                        }
                    },
                    // color: function (p) {

                    //     return color[3]

                    // }
                }
            }
        },

    ]
};

if (option && typeof option === 'object') {
    myChart.setOption(option);
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文