Echarts入门(零基础小白教程)


前言

适合0前端基础的小白,什么配置啊,不会啊,我就想画个图先,没问题,按照步骤做,先来实现第一个图,之后官方教程会教会你更多的。


下载echarts

小白建议,直接下完整版,先搞清楚怎么画出一张图再说点击这里下载Echarts ,进入链接,选择完整版下载,之后会得到一个echarts.min.js的一个js脚本,别管他,先放着。


新建一个html文件

我这里取名为echartstest.html,然后将下面的内容贴上(我这里直接拽官方文档来了,例子一样。)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <!-- 这里是加载刚下好的echarts.min.js,注意路径 -->
    <script src="echarts.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 1000px;height:600px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            backgroundColor: '#2c343c',
            textStyle: {
                        color: 'rgba(255, 255, 255, 0.3)'
                    },
            series : [
                {
                    name: '访问来源',
                    type: 'pie',
                    radius: '55%',
                    data:[
                        {value:400, name:'搜索引擎'},
                        {value:335, name:'直接访问'},
                        {value:310, name:'邮件营销'},
                        {value:274, name:'联盟广告'},
                        {value:235, name:'视频广告'}
                    ],
                    roseType: 'angle',

                    itemStyle: {
                        emphasis: {
                            shadowBlur: 200,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    },
                    label: {
                        normal: {
                            textStyle: {
                                color: 'rgba(255, 255, 255, 0.3)'
                            }
                        }
                    },
                    labelLine: {
                        normal: {
                            lineStyle: {
                                color: 'rgba(255, 255, 255, 0.3)'
                            }
                        }
                    }

                }
            ]
        })


        

    </script>
</body>
</html>

这里在重申一下路径问题,如下图所示

这里写图片描述

编辑完后保存,之后双击echartstest.html文件,就会打开一个网页,你看一个图就做好了!

这里写图片描述

是不是很简单呢,本来就是嘛,你看,你不会前端,不会js,不会jquery,照样可以画很好看的图(但是想要深入理解,还是绕不过js等前端语言的)


在地图上画图

经常看到有很多在地图上作图的,就像这样,小白容易遇到的就是,我tm都copy代码了,为啥显示不出来,原因就是需要下载一个地图“底板”

这里写图片描述

没关系,百度已经封装好了成js,下载下来就好echarts地图下载这里说明一下,有两个版本,一个是json一个是js的,不同的版本包导入的方式不一样,下面都会有说明,为了方便小白,请下载js的版本进行使用。

步骤和以前的一样,只是在加载echarts.min.js的同时,再加载一次下载的js,如果下载的是世界地图,那么加载world.js即可文件层次像这样

这里写图片描述

然后我们只需要把echartstest.html修改代码就可以了。option部分请参考官网,注意这里引用world.js,而官网里面提供的只是option部分的代码而已,这会让零基础小白一脸懵逼,要给程序就给全嘛,真是的。其实,其余的都不需要改变,初始化echarts实例(var myChart = echarts.init(document.getElementById('main'))),和最后的使用刚指定的配置项和数据显示图表(myChart.setOptions(option)这句话)

这里写图片描述

Pay Attention

  • 官方实例永远是最好的入门,最好敲一遍,理解其中的意义
  • echarts是纯js写的,所以最好学习js
  • 熟悉之后最好使用源代码版本,会有错误提示
  • echarts-python有包:echarts-python的github下载

Update

这里更新下,如何使用echarts CDN来进行图表构建,简单说,就是在联网的情况下,只要复制以下代码到一个html文件中,双击就可以运行图表,用在不可加载包的地方很合适

<span style="font-size:14px;"><!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    
    <div id="main" style="height:400px"></div>
    
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>  
    <script type="text/javascript">
        
        require.config({
            paths: {
                echarts: 'http://echarts.baidu.com/build/dist'
            }
        });
        
       
        require(
            [
                'echarts',
                'echarts/chart/bar',
                'echarts/chart/line'  // 这里加载什么类型图时候就写什么,具体参考echatrs API
            ],
            function (ec) {
                
                var myChart = ec.init(document.getElementById('main')); 
                
                var option = {
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'cross',
                            crossStyle: {
                                color: '#999'
                            }
                        }
                    },
                    toolbox: {
                        feature: {
                            dataView: {show: true, readOnly: false},
                            magicType: {show: true, type: ['line', 'bar']},
                            restore: {show: true},
                            saveAsImage: {show: true}
                        }
                    },
                    legend: {
                        data:['HERE','AVERAGE']
                    },
                    xAxis: [
                        {
                            type: 'category',
                            data: ["avg_time_ok","avg_dis_ok","avg_time_dis_ok","avg_zero_call","avg_time_dis_call_ok","avg_badcase"],
                            axisPointer: {
                                type: 'shadow'
                            }
                        }
                    ],
                    yAxis: [
                        {
                            type: 'value',
                            name: 'HERE RATE',
                            min: 0,
                            max: 1,
                            
                        },
                        {
                            type: 'value',
                            name: 'AVERAGE RATE',
                            min: 0,
                            max: 1,
       
                        }
                    ],
                    series: [
                            {
                                name:'HERE',
                                type:'bar',
                                data:[{avg_time_ok},{avg_dis_ok}, {avg_time_dis_ok}, {avg_zero_call}, {avg_time_dis_call_ok}, {avg_badcase}],
                                label: {
                                normal: {
                                    show: true,
                                    //position: 'top'
                                }
                            },
                        },
                        
                        {
                            name:'AVERAGE',
                            type:'line',
                            yAxisIndex: 1,
                            data:[0.7852, 0.5496, 0.4562, 0.2448, 0.1467, 0.1024]
                        }
                    ]
                };
        
                myChart.setOption(option); 
            }
        );
    </script>
</body></span>

效果如图所示

这里写图片描述

致谢

@echarts-5分钟上手写ECharts的第一个图表


总结

其实我也什么都不会,上面都是我胡编的,你们过来打我呀

这里写图片描述
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 百度Echarts是百度团队出品的一个可视化制图神奇,也是国内目前一款开源、功能强大的数据可视化产品,包含多种图形...
    博观厚积阅读 6,659评论 0 10
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,614评论 4 59
  • 问梅子熟时个中人酸甜自别 闻木樨香否门外汉坐卧由他
    lizhaozhao阅读 675评论 14 21
  • 目前水平有限,回答得很水,各位大神请多多指教。 1. BAT之间的业务特性和差异 百度:以搜索引擎为核心的技术基因...
    vidianzzh阅读 1,008评论 0 2