美文网首页程序员
使用echarts画双折线图

使用echarts画双折线图

作者: 请叫我小中中 | 来源:发表于2019-01-04 19:00 被阅读31次

前言:
echarts是百度出品一款报表插件,图表展示十分的丰富,在我们的开发中使用也比较广泛,但是官方的样例都是十分简单的,好在他们的api文档提供了特别多的配置项,这就为我们画更丰富的图表提供了可能性。
使用echarts遇到过的坑:

  • 一定要给图表容器添加宽度与高度。
  • 图表在容器中可以调整位置,让图表显示的更完整。

今日分享重点:画双折线图。
1.引入相关js

<script type="text/javascript" src="../js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="../echarts-4.2.0/echarts.min.js"></script>

2.确定容器

<div id="doubleLine" style="width: 450px;height: 325px;">
</div>

3.定义画折线图是方法,配置图表参数

    /**
     * 画双折线图
     * @param container 容器
     * @param titleName 标题
     * @param xData x轴数据
     * @param seriesNameOne 第一条折线图表名称
     * @param seriesDataOne 第一条折线图表数据
     * @param seriesNameTwo 第二条折线图表名称
     * @param seriesDataTwo 第二条折线图表数据
     */
    function drawDoubleLine(container, titleName, xData, seriesNameOne, seriesDataOne, seriesNameTwo, seriesDataTwo) {
        var doubleLine = echarts.init(document.getElementById(container));
        doubleLineOption = {
            tooltip : {
                trigger : 'axis',
                //指示器
                axisPointer : {
                    type : 'line',
                    lineStyle : {
                        color:'#7171C6'
                    }
                }
            },
            //标题样式
            title : {
                text : titleName,
                textStyle : {
                    color : 'white',
                },
                left : 'center'
            },
            //图形位置
            grid : {
                left : '4%',
                right : '6%',
                bottom : '4%',
                top : 50,
                containLabel : true
            },
            xAxis : [ {
                type : 'category',
                //x轴坐标点开始与结束点位置都不在最边缘
                boundaryGap : true,
                axisLine : {
                    show : true,
                    //x轴线样式
                    lineStyle : {
                        color : '#17273B',
                        width : 1,
                        type : 'solid'
                    }
                },
                //x轴字体设置
                axisLabel : {
                    show : true,
                    fontSize : 12,
                    color : 'white'
                },
                data : xData
            } ],
            yAxis : [ {
                type : 'value',
                //y轴字体设置
                axisLabel : {
                    show : true,
                    color : 'white',
                    fontSize : 12,
                    formatter : function(value) {
                        if (value >= 1000) {
                            value = value / 1000 + 'k';
                        }
                        return value;
                    }
                },
                //y轴线设置显示
                axisLine : {
                    show : true
                },
                //与x轴平行的线样式
                splitLine : {
                    show : true,
                    lineStyle : {
                        color : '#17273B',
                        width : 1,
                        type : 'solid',
                    }
                }
            } ],
            series : [ {
                name : seriesNameOne,
                type : 'line',
                smooth: true,
                lineStyle : {
                    color : {
                        type : 'linear',
                        x : 0,
                        y : 0,
                        x2 : 0,
                        y2 : 1,
                        colorStops : [ {
                            offset : 0,
                            color : '#00F2B1' // 0% 处的颜色
                        }, {
                            offset : 1,
                            color : '#00F2B1' // 100% 处的颜色
                        } ],
                        globalCoord : false
                    },
                    width : 2,
                    type : 'solid',
                },
                //折线连接点样式
                itemStyle : {
                    color : '#00E5DE'
                },
                //折线堆积区域样式
                areaStyle : {
                    color : '#004c5E'
                },
                data : seriesDataOne
            }, {
                name : seriesNameTwo,
                type : 'line',
                smooth: true,
                lineStyle : {
                    color : {
                        type : 'linear',
                        x : 0,
                        y : 0,
                        x2 : 0,
                        y2 : 1,
                        colorStops : [ {
                            offset : 0,
                            color : '#0AB2F9' // 0% 处的颜色
                        }, {
                            offset : 1,
                            color : '#0AB2F9' // 100% 处的颜色
                        } ],
                        globalCoord : false
                    },
                    width : 2,
                    type : 'solid',
                },
                //折线连接点样式
                itemStyle : {
                    color : '#00E5DE'
                },
                //折线堆积区域样式
                areaStyle : {
                    color : '#004c5E'
                },
                data : seriesDataTwo
            } ]
        };
        doubleLine.setOption(doubleLineOption);
    }

4.调用方法,传递参数

drawDoubleLine('doubleLine', '年卡销售额', [ '一季度', '二季度', '三季度', '四季度' ], '去年销售额', [ 2120, 4232, 4471, 983 ], '今年销售额', [ 3190, 4292, 5491, 1083 ]);

5.划重点

  • 画双折线图与单折线图其实非常相似,各种配置、语法都一样,唯一的区别在于双折线图是两组数据。
  • 在定义的方法中,一些需要动态变化展示的样式、数据等定义成了方法的参数,可以根据不同的展示需求传递不同的参数,其它的样式根据页面风格已经写成固定样式。
  • 固定样式只是api中的一部分,如果还想图表展示的更丰富、更动态化,可以参考官方api,配置方式大同小异。

6.上图


双折线图.png

相关文章

网友评论

    本文标题:使用echarts画双折线图

    本文链接:https://www.haomeiwen.com/subject/fubkrqtx.html