修改 Echarts 的一些UI样式

1.常规折线图x,y轴颜色以及线条变虚线修改

WeChat4f546dda81f686999e2c2f3afbd9c688.png

Echart接收后台数据显示折线图,UI 部分修改成如图所示。一些配置选项有官方文档可以查看,不过挨着找太累了。

let option = {
        // title:{
        //    text: type == 1 ? nowName+'(自然增长表)' : nowName+'(增长速率表)',
        //    left: 'center',
        //    top:'5%',
        // },
        grid: {
            left: '1%',
            right: '6%',
            bottom: '80px',
            containLabel: true
        },
        backgroundColor: '#25242a',
        color: 'rgb(103, 148, 220)',
        // tooltip: {
        //     trigger: 'axis',
        //     axisPointer: {
        //         type: 'cross',
        //         animation: false,
        //         label: {
        //             backgroundColor: '#ccc',
        //             borderColor: '#aaa',
        //             borderWidth: 1,
        //             shadowBlur: 0,
        //             shadowOffsetX: 0,
        //             shadowOffsetY: 0,
        //             textStyle: {
        //                 color: '#222'
        //             }
        //         }
        //     },
        //     formatter: function (params) {
        //         return `时间:${params[0].data.value[0]}<br />${type == 1 ? '增长量:' : '速率:'}${params[0].data.value[1]}`;
        //     }
        // },
        // dataZoom: {
        //     show: true,
        //     start : 0
        // },
        xAxis: {
            axisLine:{
                lineStyle:{
                    color:"#276ee9"
                }
            },
            splitLine:{
                show:false,
                lineStyle:{ type: 'dashed' }
            },
            axisTick:{
                show:false
            },
            type: 'time',
            // name: '时间',
            boundaryGap: false,
            data: dataTime,
            axisLabel:{
                // interval: 0,
                // rotate:-30,  
                align:'center',
                margin: 20,
                color:"#ffffff"
            },
        },
        yAxis: {
            type: 'value',
            name: type == 1 ? '增长量' : '速率',
            nameTextStyle:{
                color:"#ffffff"
            },
            splitLine:{
                show:true,
                lineStyle:{ type: 'dotted' }
            },
            axisLabel:{     // 轴文字
                textStyle:{
                    color:'#ffffff',
                    fontSize : 12,
                },
                formatter:function (params, ticket, callback) {
                    return checkText3(params);
                },
                color:'#ffffff',
            },
        },
        series: [{
            data: newData,
            type: 'line',
            areaStyle: {
                normal: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                        offset: 0,
                        color: '#8ec6ad'
                    }, {
                        offset: 1,
                        color: '#ffe'
                    }])
                }
            },
        }]
    };

2. 折线图带dataZoom同时数据区域颜色渐变

WeChat68ecbd3f76610951795881acc9a90d7b.png

以及如上图的折线图下面一块可缩放的是dataZoom组件,相关配置可以参照这篇文章,注释很详细。
参考文章:Echarts dataZoom,开发全解+完美注释
下面是我在工作项目中改的如上图的代码。

let option = {
        title:{
           text: type == 1 ? nowName+'(自然增长表)' : (type == 2 ?nowName+'(增长速率表)':nowName+'(评论增长速率表)'),
           left: 'center',
           top:'5%',
           textStyle:{
                color:"#65abe7"
           }
           
        },
        grid:{
            bottom:'85px',
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross',
                animation: false,
                label: {
                    backgroundColor: '#ccc',
                    borderColor: '#aaa',
                    borderWidth: 1,
                    shadowBlur: 0,
                    shadowOffsetX: 0,
                    shadowOffsetY: 0,
                    textStyle: {
                        color: '#65abe7'
                    }
                }
            },
            formatter: function (params) {
                return `时间:${params[0].data.value[0]}<br />${type == 1 ? '增长量:' : '速率:'}${params[0].data.value[1]}`;
            }
        },
        dataZoom: {
            show: true,
            start : 0,
            textStyle:"#65abe7",
            backgroundColor:new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: '#2a6496'
            }, {
                offset: 1,
                color: '#2e4456'
            }]), 
            borderColor:"",
            
            // fillerColor:new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
            //     offset: 0,
            //     color: '#2a6496'
            // }, {
            //     offset: 1,
            //     color: '#2e4456'
            // }]), 
            dataBackground:{                        //数据阴影的样式。
                lineStyle:"red"
            },
    
            
        },
        backgroundColor: 'rgba(128, 128, 128, 0.1)',//设置背景色canvas 画布透明
        color: 'rgb(0,123,255)',
        xAxis: {
            type: 'time',
            name: '时间',
            boundaryGap: false,
            data: dataTime,
            splitLine:{
                show:false
            },
            axisLine:{
                lineStyle:{
                    color:"#6ea8c2"
                }
            },
            axisLabel:{
                // rotate:-20,  
                interval:0, 
                // align:'center',
                margin:14,
                interval:0, 
                textStyle:{
                    color:'#65abe7'
                },  
            }
        },
        yAxis: {
            type: 'value',
            name: type == 1 ? '增长量' : '速率',
            nameTextStyle:{
                color:"#65abe7"
            },
            axisLine:{
                show:false
            },
            splitLine:{
               lineStyle:{
                   color:"#26353a"
               } 
            },
            axisLabel:{ 
                textStyle:{// 轴文字
                    color:'#65abe7',
                    fontSize : 12,
                },
                formatter:'{value}',
                color:'#65abe7',
            },
            
        },
        series: [{
            data: newData,
            type: 'line',
            areaStyle: {
                normal: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                        offset: 0,
                        color: '#2a6496'
                    }, {
                        offset: 1,
                        color: '#2e4456'
                    }])
                }
            },
        }]
    };

2.2 增加两条图表标线

WeChatd07ef425ecb168f0f52e4a7c29225991.png

修改markLine,因为页面调用了 3 次生成三个表,下面的 type 是区分第一个表增加两条图表标线的。

 series: [{
            data: newData,
            type: 'line',
            areaStyle: {
                normal: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                        offset: 0,
                        color: '#2a6496'
                    }, {
                        offset: 1,
                        color: '#2e4456'
                    }])
                }
            },
            markLine: {
                data: type == 1 ?([
                    {
                        symbol: 'circle',
                        label: {
                            normal: {
                                position: 'end',
                                formatter: '近三十天平均互动量'
                            }
                        },
                        yAxis: avg_30
                    }, {
                        symbol: 'circle',
                        label: {
                            normal: {
                                position: 'start',
                                formatter: '近十五天平均互动量'
                            }
                        },
                        yAxis: avg_15
                    }
                ]):""

            }
        }]

3.map 中国地图修改颜色线条样式

WeChat076b82544f561e70df2b23a11573d1cc.png

参考文章:Echarts map 属性详解

let option = {
        title: {
            text: `${titleText[0]}`,
            subtext: `${titleText[1]}`,
            x: 'center',
            y: '26%',
            itemGap: 20,
            textStyle : {
                color : '#ffffff',
                fontSize : 32,
            },
            subtextStyle : {
                color : '#ffffff',
                fontSize : 16,
            }
        },
        series: [
            {
                name:'投放视频数',
                type:'pie',
                hoverAnimation:false,
                radius: ['82%', '100%'],
                avoidLabelOverlap: false,
                label: {
                    normal: {
                        show: false,
                        position: 'center'
                    },
                    emphasis: {
                        show: false,
                        textStyle: {
                            fontSize: '30',
                            fontWeight: 'bold'
                        }
                    }
                },
                labelLine: {
                    normal: {
                        show: false
                    }
                },
                data:[
                    {value:parseInt(Math.random()*40), itemStyle:{color:'#2ae5f0'}},
                    {value:50, itemStyle:{color:'#0c98ba'}},
                ]
            }
        ],
    };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容