Echarts颜色设置技巧让你的图表更加生动鲜明

一、利用调色板实现自定义颜色

Echarts 提供了一些预设的调色板,如果这些颜色不能满足你的需求,你可以使用 echarts.init(opts: Object, [theme: Object|string], [opts2: Object]) 初始化图表时,指定颜色数组或颜色函数。其中颜色函数有两个参数,第一个参数是系列号,第二个参数是数据编号。

var chart = echarts.init(document.getElementById('main'),'light');
var option = {
    color: ['#37a2da', '#67e0e3', '#9fe6b8','#ffdb5c', '#ff9f7f', '#e062ae', '#e690d1', '#e7bcf3','#9d96f5','#8378EA'],
    series: {
        ...
    }
};

除此之外,你还可以通过 define 定义自己的颜色系列。

echarts.util.define(
    "myTheme",
    {
        color: [
            "#c23531",
            "#2f4554",
            "#61a0a8",
            "#d48265",
            "#91c7ae",
            "#749f83",
            "#ca8622",
            "#bda29a",
            "#6e7074",
            "#546570",
            "#c4ccd3"
        ]
    }
);

二、通过渐变色让图表更加引人入胜

你还可以通过 echarts graphic 组件中的 rect 和 linearGradient,利用渐变实现更加丰富的图表颜色表现。

var chart = echarts.init(document.getElementById('main'),'light');
var option = {
    graphic: [{
        type: 'rect',
        left: 'center',
        top: 'middle',
        z: 100,
        shape: {
            width: 400,
            height: 50,
            r: 20
        },
        style: {
            fill: {
                type: 'linear',
                colorStops: [{
                    offset: 0,
                    color: '#0f0'
                }, {
                    offset: 1,
                    color: '#f00'
                }]
            }
        }
    }],
    series: {
        ...
    }
};

三、利用主题色系让图表风格统一

Echarts 主题默认提供了 7 种系列配色主题。

var chart = echarts.init(document.getElementById('main'),'dark');

对于喜欢自定义主题的用户,Echarts 提供了 createTheme 函数,用户只需要提供主题的颜色数组就可以自动生成主题。

echarts.registerTheme('myTheme', {
    color: ['#9bd7ff', '#ffc448', '#ff8080', '#009cff', '#7ecef4', '#5ac8ed', '#d66bc2', '#5c71c8', '#3ed7f1', '#ffc172']
});

var chart = echarts.init(document.getElementById('main'),'myTheme');

四、动态改变图表颜色

有时候需要通过用户交互动态改变图表的颜色,Echarts 提供了 setOption 函数。你只需要修改 option.color 数组的值或者通过 option.series.itemStyle.normal.color<-Function 来更新颜色函数,然后调用 setOption 函数就可以轻松更新图表颜色。

var chart = echarts.init(document.getElementById('main'),'light');
var option = {
    color: ['#37a2da', '#67e0e3', '#9fe6b8','#ffdb5c', '#ff9f7f', '#e062ae', '#e690d1', '#e7bcf3','#9d96f5','#8378EA'],
    series: {
        ...
    }
};
chart.setOption(option);

// 修改颜色
option.color = ['#ff7875', '#ff9c6e', '#ffc069','#ffd666', '#b37feb', '#727bec', '#3eaf7c', '#4a657a','#223273','#6f6f6f'];
chart.setOption(option);

五、结合图表类型选择合适的颜色表现

图表类型不同,所要表达的信息也不同,因此在选择颜色的时候也要根据不同的图表类型搭配合适的颜色方案。例如饼图通常需要使用渐变色、饱和度高的颜色,使得整个图表更加美观。而折线图可以利用深浅不一的颜色来突出关键点。

var chart = echarts.init(document.getElementById('main'),'light');
var option = {
    color: ['#37a2da', '#67e0e3', '#9fe6b8','#ffdb5c', '#ff9f7f', '#e062ae', '#e690d1', '#e7bcf3','#9d96f5','#8378EA'],
    series: [
        {
            name: '访问来源',
            type: 'pie',
            radius: '55%',
            roseType: 'angle',
            label: {
                normal: {
                    show: false
                },
                emphasis: {
                    show: true
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            itemStyle: {
                normal: {
                    shadowBlur: 200,
                    shadowColor: 'rgba(0, 0, 0, 0.5)',
                    color: {
                        type: 'radial',
                        x: 0.5,
                        y: 0.5,
                        r: 1,
                        colorStops: [
                            {
                                offset: 0, color: '#7ecef4' // 0% 处的颜色
                            },
                            {
                                offset: 1, color: '#3eaf7c' // 100% 处的颜色
                            }
                        ],
                    },
                }
            },
            data: [...]
        },
        {
            name:'邮件营销',
            type:'line',
            data:[120, 132, 101, 134, 90, 230, 210],
            itemStyle: {
                color: '#009cff'
            },
            lineStyle: {
                color: '#2f4554'
            }
        }
    ]
};
chart.setOption(option);

原创文章,作者:RWTJ,如若转载,请注明出处:https://www.506064.com/n/138570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
RWTJRWTJ
上一篇 2024-10-04 00:21
下一篇 2024-10-04 00:21

相关推荐

  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • 掌握magic-api item.import,为你的项目注入灵魂

    你是否曾经想要导入一个模块,但却不知道如何实现?又或者,你是否在使用magic-api时遇到了无法导入的问题?那么,你来到了正确的地方。在本文中,我们将详细阐述magic-api的…

    编程 2025-04-29
  • Codemaid插件——让你的代码优美整洁

    你是否曾为了混杂在代码里的冗余空格、重复代码而感到烦恼?你是否曾因为代码缺少注释而陷入困境?为了解决这些问题,今天我要为大家推荐一款Visual Studio扩展插件——Codem…

    编程 2025-04-28
  • Python左补0,让你的数据更美观

    本文将从以下几个方面,详细阐述Python左补0的作用及使用方法: 一、什么是Python左补0 在Python中,数据在输出时如果希望达到一定的美观效果,就需要对数字进行左补0,…

    编程 2025-04-27
  • 昆明爱因森会计培训:打造你的财务管理佳绩

    本文将从以下几个方面,详细阐述昆明爱因森会计培训的特点及其课程设置。 一、专业师资 昆明爱因森会计培训拥有一支高素质的教师团队,他们都具备很高的教学经验与实际工作能力,且熟知国内外…

    编程 2025-04-27
  • Android Java Utils 可以如何提高你的开发效率

    Android Java Utils 是一款提供了一系列方便实用的工具类的 Java 库,可以帮助开发者更加高效地进行 Android 开发,提高开发效率。本文将从以下几个方面对 …

    编程 2025-04-27
  • 用vuefavicon管理你的页面icon标签

    一、什么是vuefavicon vuefavicon是一种Vue.js插件,用于动态管理网站的favicon图标。通常情况下,我们会将网站的icon标签放置在html文档的head…

    编程 2025-04-25
  • 用c++实现信号量操作,让你的多线程程序轻松实现同步

    在多线程编程中,线程之间的同步问题是非常重要的。信号量是一种解决线程同步问题的有效机制。本文将介绍如何使用C++实现信号量操作,让你的多线程程序轻松实现同步。在介绍实现方法之前,我…

    编程 2025-04-25
  • POC环境:构建你的漏洞验证平台

    一、POC环境基础概念 POC(Proof of Concept)环境是指基于特定漏洞的验证平台,是信息安全研究的重要组成部分。其主要目的是为了漏洞检测、漏洞复现、漏洞演示和漏洞攻…

    编程 2025-04-24
  • SQLCastAs: 让你的SQL语句更灵活

    一、SQLCastAs简介 SQLCastAs是一个针对SQL语句的函数,它可以将一个数据类型转换为另一个数据类型。当你需要比较两个不同数据类型的数据时,你可以使用SQLCastA…

    编程 2025-04-24

发表回复

登录后才能评论