Echarts入門(零基礎(chǔ)小白教程)


前言

適合0前端基礎(chǔ)的小白,什么配置啊隙姿,不會(huì)啊梅垄,我就想畫個(gè)圖先,沒(méi)問(wèn)題输玷,按照步驟做队丝,先來(lái)實(shí)現(xiàn)第一個(gè)圖,之后官方教程會(huì)教會(huì)你更多的欲鹏。


下載echarts

小白建議机久,直接下完整版,先搞清楚怎么畫出一張圖再說(shuō)點(diǎn)擊這里下載Echarts 赔嚎,進(jìn)入鏈接膘盖,選擇完整版下載胧弛,之后會(huì)得到一個(gè)echarts.min.js的一個(gè)js腳本,別管他侠畔,先放著结缚。


新建一個(gè)html文件

我這里取名為echartstest.html,然后將下面的內(nèi)容貼上(我這里直接拽官方文檔來(lái)了,例子一樣软棺。)

<!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準(zhǔn)備一個(gè)具備大小(寬高)的Dom -->
    <div id="main" style="width: 1000px;height:600px;"></div>
    <script type="text/javascript">
        // 基于準(zhǔn)備好的dom喘落,初始化echarts實(shí)例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            backgroundColor: '#2c343c',
            textStyle: {
                        color: 'rgba(255, 255, 255, 0.3)'
                    },
            series : [
                {
                    name: '訪問(wèn)來(lái)源',
                    type: 'pie',
                    radius: '55%',
                    data:[
                        {value:400, name:'搜索引擎'},
                        {value:335, name:'直接訪問(wèn)'},
                        {value:310, name:'郵件營(yíng)銷'},
                        {value:274, name:'聯(lián)盟廣告'},
                        {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>

這里在重申一下路徑問(wèn)題茵宪,如下圖所示

這里寫圖片描述

編輯完后保存,之后雙擊echartstest.html文件揖盘,就會(huì)打開一個(gè)網(wǎng)頁(yè)眉厨,你看一個(gè)圖就做好了锌奴!

這里寫圖片描述

是不是很簡(jiǎn)單呢兽狭,本來(lái)就是嘛,你看鹿蜀,你不會(huì)前端箕慧,不會(huì)js,不會(huì)jquery茴恰,照樣可以畫很好看的圖(但是想要深入理解颠焦,還是繞不過(guò)js等前端語(yǔ)言的)


在地圖上畫圖

經(jīng)常看到有很多在地圖上作圖的往枣,就像這樣伐庭,小白容易遇到的就是,我tm都copy代碼了分冈,為啥顯示不出來(lái)圾另,原因就是需要下載一個(gè)地圖“底板”

這里寫圖片描述

沒(méi)關(guān)系,百度已經(jīng)封裝好了成js雕沉,下載下來(lái)就好echarts地圖下載這里說(shuō)明一下集乔,有兩個(gè)版本,一個(gè)是json一個(gè)是js的坡椒,不同的版本包導(dǎo)入的方式不一樣扰路,下面都會(huì)有說(shuō)明,為了方便小白倔叼,請(qǐng)下載js的版本進(jìn)行使用汗唱。

步驟和以前的一樣,只是在加載echarts.min.js的同時(shí)丈攒,再加載一次下載的js渡嚣,如果下載的是世界地圖,那么加載world.js即可文件層次像這樣

這里寫圖片描述

然后我們只需要把echartstest.html修改代碼就可以了。option部分請(qǐng)參考官網(wǎng)识椰,注意這里引用world.js绝葡,而官網(wǎng)里面提供的只是option部分的代碼而已,這會(huì)讓零基礎(chǔ)小白一臉懵逼腹鹉,要給程序就給全嘛藏畅,真是的。其實(shí)功咒,其余的都不需要改變愉阎,初始化echarts實(shí)例(var myChart = echarts.init(document.getElementById('main'))),和最后的使用剛指定的配置項(xiàng)和數(shù)據(jù)顯示圖表(myChart.setOptions(option)這句話)

這里寫圖片描述

Pay Attention

  • 官方實(shí)例永遠(yuǎn)是最好的入門力奋,最好敲一遍榜旦,理解其中的意義
  • echarts是純js寫的,所以最好學(xué)習(xí)js
  • 熟悉之后最好使用源代碼版本景殷,會(huì)有錯(cuò)誤提示
  • echarts-python有包:echarts-python的github下載

Update

這里更新下,如何使用echarts CDN來(lái)進(jìn)行圖表構(gòu)建溅呢,簡(jiǎn)單說(shuō),就是在聯(lián)網(wǎng)的情況下猿挚,只要復(fù)制以下代碼到一個(gè)html文件中咐旧,雙擊就可以運(yùn)行圖表,用在不可加載包的地方很合適

<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'  // 這里加載什么類型圖時(shí)候就寫什么绩蜻,具體參考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的第一個(gè)圖表


總結(jié)

其實(shí)我也什么都不會(huì)铣墨,上面都是我胡編的,你們過(guò)來(lái)打我呀

這里寫圖片描述
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末办绝,一起剝皮案震驚了整個(gè)濱河市伊约,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孕蝉,老刑警劉巖屡律,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昔驱,居然都是意外死亡疹尾,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門骤肛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)纳本,“玉大人,你說(shuō)我怎么就攤上這事腋颠》背桑” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵淑玫,是天一觀的道長(zhǎng)巾腕。 經(jīng)常有香客問(wèn)我面睛,道長(zhǎng),這世上最難降的妖魔是什么尊搬? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任叁鉴,我火速辦了婚禮,結(jié)果婚禮上佛寿,老公的妹妹穿的比我還像新娘幌墓。我一直安慰自己,他們只是感情好冀泻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布常侣。 她就那樣靜靜地躺著,像睡著了一般弹渔。 火紅的嫁衣襯著肌膚如雪胳施。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天肢专,我揣著相機(jī)與錄音舞肆,去河邊找鬼。 笑死鸟召,一個(gè)胖子當(dāng)著我的面吹牛胆绊,可吹牛的內(nèi)容都是我干的氨鹏。 我是一名探鬼主播欧募,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼仆抵!你這毒婦竟也來(lái)了跟继?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镣丑,失蹤者是張志新(化名)和其女友劉穎舔糖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莺匠,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡金吗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趣竣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摇庙。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖遥缕,靈堂內(nèi)的尸體忽然破棺而出卫袒,到底是詐尸還是另有隱情,我是刑警寧澤单匣,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布夕凝,位于F島的核電站宝穗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏码秉。R本人自食惡果不足惜逮矛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望转砖。 院中可真熱鬧橱鹏,春花似錦、人聲如沸堪藐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)礁竞。三九已至糖荒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間模捂,已是汗流浹背捶朵。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狂男,地道東北人综看。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岖食,于是被迫代替她去往敵國(guó)和親红碑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 百度Echarts是百度團(tuán)隊(duì)出品的一個(gè)可視化制圖神奇泡垃,也是國(guó)內(nèi)目前一款開源析珊、功能強(qiáng)大的數(shù)據(jù)可視化產(chǎn)品,包含多種圖形...
    博觀厚積閱讀 6,714評(píng)論 0 10
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)蔑穴、插件忠寻、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評(píng)論 4 62
  • 問(wèn)梅子熟時(shí)個(gè)中人酸甜自別 聞木樨香否門外漢坐臥由他
    lizhaozhao閱讀 686評(píng)論 14 21
  • 目前水平有限,回答得很水存和,各位大神請(qǐng)多多指教奕剃。 1. BAT之間的業(yè)務(wù)特性和差異 百度:以搜索引擎為核心的技術(shù)基因...
    vidianzzh閱讀 1,035評(píng)論 0 2