百度EChart3初體驗

這是我偷的圖柳恐,你信嗎?

由于項目需要在首頁搞一個訂單數(shù)量的走勢圖狸捕,經(jīng)過多方查找喷鸽,體驗,感覺ECharts不錯灸拍,封裝的很細做祝,我們只需要看自己需要那種類型的圖表,搞定好自己的json數(shù)據(jù)就OK鸡岗。至于說如何體現(xiàn)出來混槐,官網(wǎng)的教程很詳細。大家可以去看下轩性。大概了解下用法就OK声登。

百度ECharts 3:http://echarts.baidu.com/index.html

訂單數(shù)量走勢圖

其實還有很多,可以到官網(wǎng)中找揣苏。

下面是我進行操作的步奏悯嗓,大家可以看下,做個參考卸察。

ECharts初體驗—01...

需要到官網(wǎng)下載最新的版本的js文件(完整版)脯厨,其實只有一個,但是你要想出來一些好看的效果就應(yīng)該把主題也下載好坑质。

地址:http://echarts.baidu.com/download.html

其實只需要4步就OK合武。

  1. :劃分一塊區(qū)域用來顯示圖形;

  2. :初始化echart插件涡扼;

  3. :填充option中的數(shù)據(jù)data;

  4. :加載稼跳,裝配數(shù)據(jù)到echart。

這樣就OK了吃沪。其實最難的不是使用汤善,而是如何將這個插件和自己的后臺聯(lián)系起來,比如數(shù)據(jù)應(yīng)該展示那些巷波,如何將數(shù)據(jù)json化之后傳遞過來萎津。如何實現(xiàn)異步等……

ECharts初體驗—02...

下面是MVC中一個簡單的頁面,只是為了將圖表先展示出來。


/// <summary>
/// 折線圖
/// </summary>
/// <returns></returns>
public ActionResult Index()
{
    return View();
}

 <h2>Index</h2>
<div id="main" style="width: 600px;height:400px;"></div>
@*引人外部JS文件抹镊,下面的vintage,dark是主題。*@
<script src="~/Scripts/echarts/echarts.js"></script>
<script src="~/Scripts/echarts/vintage.js"></script>
<script src="~/Scripts/echarts/dark.js"></script>
<script>   
    //第一步荤傲;
    var myChart = echarts.init(document.getElementById('main'), 'dark');  //這就樣
    //第二步垮耳;
  var  option = {
        title: {
            text: '堆疊區(qū)域圖'
        },
      //氣泡提示框,呈現(xiàn)更詳細的數(shù)據(jù)。
        tooltip: {
            trigger: 'axis'
        },
      //圖例终佛,表述數(shù)據(jù)和圖表的關(guān)聯(lián)
        legend: {
            data: ['郵件營銷']
        },
      //輔助工具箱俊嗽,如添加標線,框選縮放.
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
      //用于定義直角系的布局铃彰。
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
      //坐標系中的X軸--類目錄
        xAxis: [
            {
                type: 'category',
                boundaryGap: false,
                data: ["2016-10-12", "2016-10-13", "2016-10-14", "2016-10-15", "2016-10-16", "2016-10-17", "2016-10-18", "2016-10-19", "2016-10-20", "2016-10-21", "2016-10-22", "2016-10-23", "2016-10-24", "2016-10-25", "2016-10-26"]
            }
        ],
      //坐標系中的Y軸--數(shù)據(jù)值
        yAxis: [
            {
                type: 'value'
            }
        ],
      //數(shù)據(jù)列表绍豁,一個圖表可能包含多個系列,每一個系列可能包含多個數(shù)據(jù)牙捉。格式為json的形式竹揍。
        series: [
            {
                name: '郵件營銷',
                type: 'line',
                stack: '總量',
                areaStyle: { normal: {} },
                label: {
                    normal: {
                        show: true,
                        position: 'top'
                    }
                },
                data: [23, 45, 23, 11, 222, 234, 12, 34, 37, 50, 23, 45, 23, 11, 222]
            }          
        ]
    };
    //第三步 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
  myChart.setOption(option);
</script>

其中的每一步都有解釋邪铲,每一個名詞都有各自的意義芬位,大家可以了解下。至于每一個data带到,都是使用靜態(tài)的json昧碉,后面會從后臺傳遞數(shù)據(jù)。下面是這個的效果揽惹。

圖呀---

ECharts初體驗—03...

其實上面的數(shù)據(jù)都是靜態(tài)的被饿,很好的實現(xiàn)。但是對于我們實際的項目中都是從數(shù)據(jù)庫中取到的數(shù)據(jù)搪搏,不可能是靜態(tài)的狭握,此時我們就需要將其json化,進行一定的轉(zhuǎn)換慕嚷。把數(shù)據(jù)從后面?zhèn)鬟f到前臺哥牍,在進行操作。

dataList類


   public class DateList
{

    public IList<string> datetime { get; set; }

    public IList<int> ordernumber { get; set; }
}

控制器Controller


   [HttpGet]
public ActionResult ZhiXian()
{         
    return View();
}
[HttpPost, ActionName("ZhiXian")]
public ActionResult ZhiXianPost()
{
    var listData = new List<string>();
    var datetimes = DateTime.Now.AddDays(1);
    for (int i = 1; i <=15; i++)
    {
        listData.Add(datetimes.AddDays(-i).ToString("yyyy-MM-dd"));
    }
    listData.Reverse();
    var aa = new int[] { 23, 45, 23, 11, 222, 234, 12, 34, 37, 50, 23, 45, 23, 11, 222 };
    var data = new DateList()
    {
        datetime = listData,
        ordernumber = aa,
    };
    return Json(new{status=1,result=data});
}

視圖View


   <h2>ZhiXian</h2>
<div id="main" style="width: 800px;height:400px;"></div>
@*引人外部JS文件*@
<script src="~/Scripts/echarts/echarts.js"></script>
<script src="~/Scripts/jquery-2.1.4.js"></script>
<script src="~/Scripts/echarts/vintage.js"></script>
<script src="~/Scripts/echarts/roma.js"></script>
<script>
    // 基于準備好的dom喝检,初始化echarts實例
    var myChart = echarts.init(document.getElementById('main'), 'roma');  //這就
    $.post("/Home/ZhiXian", function (response) {
        if (response.status == 1) {
            console.log(response.result.datetime);
            console.log(response.result.ordernumber);
            var option = {
                title: {
                    text: '近10天訂單數(shù)量分析圖'
                },
                //氣泡提示框嗅辣,呈現(xiàn)更詳細的數(shù)據(jù)。
                tooltip: {
                    trigger: 'axis'
                },
                //圖例挠说,表述數(shù)據(jù)和圖表的關(guān)聯(lián)
                legend: {
                    data: ['訂單總量']
                },
                //輔助工具箱澡谭,如添加標線,框選縮放.
                toolbox: {
                    feature: {
                        saveAsImage: {}
                    }
                },
                //用于定義直角系的布局损俭。
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                //坐標系中的X軸--類目錄
                xAxis: [
                    {
                        type: 'category',
                        boundaryGap: false,
                        data: response.result.datetime
                    }
                ],
                //坐標系中的Y軸--數(shù)據(jù)值
                yAxis: [
                    {
                        type: 'value'
                    }
                ],
                //數(shù)據(jù)列表蛙奖,一個圖表可能包含多個系列,每一個系列可能包含多個數(shù)據(jù)杆兵。格式為json的形式雁仲。
                series: [
                    {
                        name: '訂單總量',
                        type: 'line',
                        stack: '總量',
                        label: {
                            normal: {
                                show: true,
                                position: 'top'
                            }
                        },
                        areaStyle: { normal: {} },
                        data: response.result.ordernumber
                    }
                ]
            };
            myChart.clear();
            myChart.hideLoading();
            //// 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
            myChart.setOption(option);
        } else {
            alert("圖表請求不成功琐脏,請重新請求攒砖。");
        }       
    });
</script>

效果如下:

123

我們可以發(fā)現(xiàn)顏色和第二個的不一樣缸兔,這個就是我們使用了主題,這個在獲取dom元素的時候標記的吹艇。如下所示惰蜜。

01
02

下面是一個餅狀圖的主要option,其余的不變;


myChart.setOption({
        series: [
            {
                name: '訪問來源',
                type: 'pie',
                radius: '55%',
                data: [
                    { value: 400, name: '搜索引擎' },
                    { value: 335, name: '直接訪問' },
                    { value: 310, name: '郵件營銷' },
                    { value: 274, name: '聯(lián)盟廣告' },
                    { value: 235, name: '視頻廣告' }
                ]
            }
        ]
    });

扇形圖

我一直相信受神,只要我一直走抛猖,就一定可以到達。雖然我不知道要到那里去...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼻听,一起剝皮案震驚了整個濱河市财著,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌精算,老刑警劉巖瓢宦,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異灰羽,居然都是意外死亡驮履,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門廉嚼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玫镐,“玉大人,你說我怎么就攤上這事怠噪】炙疲” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵傍念,是天一觀的道長矫夷。 經(jīng)常有香客問我,道長憋槐,這世上最難降的妖魔是什么双藕? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮阳仔,結(jié)果婚禮上忧陪,老公的妹妹穿的比我還像新娘。我一直安慰自己近范,他們只是感情好嘶摊,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著评矩,像睡著了一般叶堆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斥杜,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天蹂空,我揣著相機與錄音俯萌,去河邊找鬼果录。 笑死上枕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弱恒。 我是一名探鬼主播辨萍,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼返弹!你這毒婦竟也來了锈玉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤义起,失蹤者是張志新(化名)和其女友劉穎拉背,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體默终,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡椅棺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了齐蔽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片两疚。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖含滴,靈堂內(nèi)的尸體忽然破棺而出诱渤,到底是詐尸還是另有隱情,我是刑警寧澤谈况,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布勺美,位于F島的核電站,受9級特大地震影響碑韵,放射性物質(zhì)發(fā)生泄漏赡茸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一泼诱、第九天 我趴在偏房一處隱蔽的房頂上張望坛掠。 院中可真熱鬧,春花似錦治筒、人聲如沸屉栓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽友多。三九已至,卻和暖如春堤框,著一層夾襖步出監(jiān)牢的瞬間域滥,已是汗流浹背纵柿。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留启绰,地道東北人昂儒。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像委可,于是被迫代替她去往敵國和親渊跋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

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