Baidu圖表插件--Eharts使用(柱狀圖)

来源:http://www.cnblogs.com/lovejunjuan/archive/2017/02/17/6410153.html
-Advertisement-
Play Games

官網鏈接:http://echarts.baidu.com/index.html 官網的demo,api都很詳細;我就分享下我的學習步驟 首先定義一個顯示圖標的區域: <div id="main1" style="width: 600px;height:400px;"></div> js代碼先貼上: ...


官網鏈接:http://echarts.baidu.com/index.html

官網的demo,api都很詳細;我就分享下我的學習步驟

 

首先定義一個顯示圖標的區域:

<div id="main1" style="width: 600px;height:400px;"></div>

js代碼先貼上:

其中ajax返回的是string類型的值;格式:1,2,3,4|11,22,33,44

然後在js中處理成echarts能夠識別的格式(其實就是轉成數組)

<script type="text/javascript">
    // 基於準備好的dom,初始化echarts實例
    var myChart = echarts.init(document.getElementById('main1'));
    var stock = [];
    var capacity = [];
    var realnumb = [];
    var option;
    var temp = [];

    var durl = encodeURI('@Url.Action("GetData", "Test")[email protected]');
    $.ajax({
        type: 'get',
        
        url: durl,//請求數據的地址
        success: function (data) {

            temp = data.split("|");
            stock = temp[0].split(",");
            capacity = temp[1].split(",");

            option = {
                title: {
                    text: '測試數據',
                    subtext: '數據'
                },
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                legend: {
                    data: ['x1', 'x2']
                },
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                xAxis: {
                    type: 'value',
                    boundaryGap: [0, 0.01]
                },
                yAxis: {
                    type: 'category',
                    //data: ['1', '2', '3', '4', '5', '6']

                    data: stock
                },
                series: [

                    {
                        clickable: true,
                        name: '定義一',
                        type: 'bar',
                        data: capacity
                    },
                    {
                        clickable: true,
                        name: '定義二',
                        type: 'bar',
                        data: [10, 10, 15, 15, 10, 5]
                    }
                ]
            };
            myChart.setOption(option);
        },
        error: function (e) {
        }
    });

    myChart.on('click', function (params) {

        //柱裝點擊事件,params.name:y軸值,arams.seriesName:類目
        alert(params.name + " " +params.seriesName);
    });
   
   
    </script>

 最後最坑人的是柱狀圖的點擊事件,網上搜到的都是同一種寫法,都報錯;後來在官網找到了click事件和參數說明:貼上官網的說明

地址:http://echarts.baidu.com/tutorial.html#ECharts%20%E4%B8%AD%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%92%8C%E8%A1%8C%E4%B8%BA

滑鼠事件的處理

ECharts 支持常規的滑鼠事件類型,包括 'click''dblclick''mousedown''mousemove''mouseup''mouseover''mouseout' 事件。下麵先來看一個簡單的點擊柱狀圖後打開相應的百度搜索頁面的示例。

// 基於準備好的dom,初始化ECharts實例
var myChart = echarts.init(document.getElementById('main'));

// 指定圖表的配置項和數據
var option = {
    xAxis: {
        data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
    },
    yAxis: {},
    series: [{
        name: '銷量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
    }]
};
// 使用剛指定的配置項和數據顯示圖表。
myChart.setOption(option);
// 處理點擊事件並且跳轉到相應的百度搜索頁面
myChart.on('click', function (params) {
    window.open('https://www.baidu.com/s?wd=' + encodeURIComponent(params.name));
});

所有的滑鼠事件包含參數 params,這是一個包含點擊圖形的數據信息的對象,如下格式:

{
    // 當前點擊的圖形元素所屬的組件名稱,
    // 其值如 'series'、'markLine'、'markPoint'、'timeLine' 等。
    componentType: string,
    // 系列類型。值可能為:'line'、'bar'、'pie' 等。當 componentType 為 'series' 時有意義。
    seriesType: string,
    // 系列在傳入的 option.series 中的 index。當 componentType 為 'series' 時有意義。
    seriesIndex: number,
    // 系列名稱。當 componentType 為 'series' 時有意義。
    seriesName: string,
    // 數據名,類目名
    name: string,
    // 數據在傳入的 data 數組中的 index
    dataIndex: number,
    // 傳入的原始數據項
    data: Object,
    // sankey、graph 等圖表同時含有 nodeData 和 edgeData 兩種 data,
    // dataType 的值會是 'node' 或者 'edge',表示當前點擊在 node 還是 edge 上。
    // 其他大部分圖表中只有一種 data,dataType 無意義。
    dataType: string,
    // 傳入的數據值
    value: number|Array
    // 數據圖形的顏色。當 componentType 為 'series' 時有意義。
    color: string
}


 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 很久沒寫博客了,因為最近在用react+express做一個自己的工具型網站(其實就是奪寶島搶拍器) 然後因為經常要改動,而且又要放到伺服器上進行測試。總是要webpack,然後手動把文件上傳上去,不勝其煩,索性搜索了下,直接寫個能檢測文件變化並自動進行上傳的腳本好了。 首先,我們使用npm 安裝兩 ...
  • 什麼是webpack webpack是一個模塊化載入器 支持AMD/CMD。 webpack優勢 代碼分割 Loaders 插件機制 ... 安裝webpack 全局安裝 局部安裝 安裝某個指定的版本 例如1.14.0 webpack命令行參數 p 編譯後會壓縮文件 w/ watch 開發環境下會監 ...
  • //先定義一個數組 anular代碼: var app = angular.module('serApp', []); app.controller('indexCtrl', function($scope, $http) { $scope.arrs = [{ n:'a'; arr:['1','2' ...
  • DOM事件模型 在0級DOM事件模型中,它只是簡單的執行你為它綁定的事件,比如你為某個元素添加了一個onclick事件,當事件觸發時,它只是去調用我們綁定的那個方法,不再做其他的操作。 在2級DOM事件模型中,就比較複雜一些,它將不再是單純的調用一下自身綁定的事件就完事了,它還擁有機會去處理它的祖先 ...
  • 在發送簡訊息驗證碼的時候要用到js設置時間倒序問題:有時候這種常規寫法會導致js失效,試了很多方法才找到問題所在,可能是因為js版本過低導致。 解決方法: jquery代碼:必須用input設置value值,以便利用jquery更改value值 ...
  • 作為一名準前端開發工程師,必須要對http基礎知識有一定的瞭解,可是想學習HTTP相關的知識,發現國內只有兩本相關的圖書,《HTTP權威指南》和《圖解http》,所有的書但凡帶上權威指南,必將是聖經級別的圖書,我在學校圖書館借了一本,600多頁的磚頭書,由於基礎太過薄弱,根本讀不下去,於是轉向了《圖 ...
  • 本節內容我們繼續探討關於ES2015的一些新的內容,Object.assign函數的使用,使用該函數我們可以快速的複製一個或者多個對象到目標對象中,本文內容涉及es6,es7相關的對象複製的內容,以及一些es5的替代方案的介紹。 函數原型 首先看一下函數的定義: 函數參數為一個目標對象(該對象作為最 ...
  • 什麼是babel? babel是一個強大的多用途js編譯器 點擊進入 "官網" 安裝babel babel配置文件 通過.babelrc來表示 命令行的簡單使用 我們可以通過 o ( out file) 參數來編譯一個文件 如果我們想編譯整個目錄 d ( out dir)參數 預設 現在有一段es6 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...