国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于Echarts 3.19 制作常用的圖形(非靜態)

2019-11-20 09:59:47
字體:
來源:轉載
供稿:網友

餅圖:

環境:Echarts 3.19 vs2013

實現方式:ajax+ashx+json

注意事項: 官網所需格式為 [{value:23,name:'xxxx' }] 請將key 的名字不要寫錯

具體代碼,各位看官 請下移目光。

<!--請先引用文件--> <script src="../Scripts/jquery-1.8.2.min.js"></script><script src="../Scripts/echarts/echarts.min.js"></script>

頁面部分就設置一個div 就好了

<div><input type="button" id="btngo" value="Pie" /> </div><div id="contanis" style="width:px;height:px"></div>

 接下來就是js部分了 其實Echarts 跟HTML5中的 Canvans 還是有聯系的 想知道的可以查資料喲

$("#btngo").click(function () { //這里用的是點擊事件下面 當然這也是模仿你有條件查詢的時候咯var dom = document.getElementById('contanis');var mycharts = echarts.init(dom);option = {title: {text: '部門人口比例',subtext: '測試數據',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/>{b} : {c} (iwvjtn8m0%)"},legend: {orient: 'vertical',left: 'left',data: []},series: [{name: '2012年度',type: 'pie',radius: '55%',center: ['50%', '60%'],data: [],itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)' //這怎么會有個.5呢? 看來還是要看看H5喲}}}]};mycharts.setOption(option);

 接下來就是 ajax部分了 動態加載數據才是根本的 數據固定多沒意思,來干了這碗孟婆湯 來世就做UI設計尸

$.ajax({type: "get",async: true, //異步請求(同步請求將會鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行)url: "../Handler/DepartmentHandler.ashx", data: {},//demo 沒加條件dataType: "json", //返回數據形式為jsonsuccess: function (result) {for (var i = 0; i < result.length; i++){name.push(result[i].name); } mycharts.setOption({ //加載數據圖表legend:{data:name },series: [{data:result}]});},error: function (errorMsg) {//請求失敗時執行該函數alert("圖表請求數據失敗!");}});

 ashx部分就簡單多了 單純的序列化數據

DataTable result = BLL.Department.GetDeptNumber(); List<object> list = new List<object>();foreach (DataRow dr in result.Rows){// 附上Echarts 所需的格式:[{value:335, name:'直接訪問'}]Deart d = new Deart();d.value = Convert.ToInt32(dr["number"]);//自己粗心 用values Echarts 不認 一直就是undefined d.name = dr["D_Name"].ToString(); list.Add(d);}JavaScriptSerializer jss = new JavaScriptSerializer();string json = jss.Serialize(list);public class Deart //其實可以不用這么定義 自己保險讓它出來的 value 值為int{public int value { get; set; }public string name { get; set; } }

附上效果圖吧:

柱狀圖:

環境:Echarts 3.19 vs2013

實現方式:ajax+ashx+json

注意事項: 官網所需格式為:[5,6,7,9,34] 數組類型

具體代碼,各位看官 請下移目光。

<!--js代碼 --> <script src="../Scripts/jquery-1.8.2.min.js"></script><script src="../Scripts/echarts/echarts.min.js"></script> <div><%--按鈕觸發--%><input type="button" id="btncanv" value="去吧 皮卡丘" /> </div><%--聲明一個DIV 用來裝Canvas繪制的圖片--%><div id="contanis" style="width:1000px;height:800px" ><script type="text/javascript"> $("#btncanv").click(function () {//獲取到繪制domvar dom = document.getElementById("contanis");var myChart = echarts.init(dom);myChart.setOption({title: {text: '異步數據加載示例' //圖片標題},tooltip: {},legend: {data: ['部門人口'] },xAxis: {data: []},yAxis: {},series: [{name: '2015',type: 'bar',//可以更改為 line(折線)data: [] //此處給空 后面用ajax給他賦值}]});

老規律 下面就是ajax 部分了 :

myChart.showLoading(); //數據加載完之前先顯示一段簡單的loading動畫var names = []; //類別數組(實際用來盛放X軸坐標值)var nums = []; //銷量數組(實際用來盛放Y坐標值)$.ajax({type: "post",async: true, //異步請求(同步請求將會鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行)url: "../Handler/DepartmentHandler.ashx", //請求發送到../Handler/DepartmentHandler處data: {},dataType: "json", //返回數據形式為jsonsuccess: function (result) { //請求成功時執行該函數內容,result即為服務器返回的json對象if (result) {for (var i = 0; i < result.length; i++) {names.push(result[i].name); //挨個取出類別并填入類別數組}for (var i = 0; i < result.length; i++) {nums.push(result[i].values); //挨個取出銷量并填入銷量數組}myChart.hideLoading(); //隱藏加載動畫myChart.setOption({ //加載數據圖表xAxis:{data: names},series: [{ data: nums }]});}},error: function (errorMsg) {//請求失敗時執行該函數alert("圖表請求數據失敗!");myChart.hideLoading();}})});

附上效果圖吧:


 其實option的設置是可以放在ajax里面的 一樣會出效果 而且容易更看

就拿餅圖來說吧 代碼可以這么寫啊

$.ajax({type: "get",async: true, //異步請求(同步請求將會鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行)url: "../Handler/DepartmentHandler.ashx", data: {},//demo 沒加條件dataType: "json", //返回數據形式為jsonsuccess: function (result) { for (var i = 0; i < result.length; i++){name.push(result[i].name); } option = {title: {text: '部門人口比例',subtext: '測試數據',x: 'center'},tooltip: {trigger: 'item',formatter: "{a} <br/>{b} : {c} (iwvjtn8m0%)"},legend: {orient: 'vertical',left: 'left',data:name},series: [{name: '2012年度',type: 'pie',radius: '55%',center: ['50%', '60%'],data: result,itemStyle: {emphasis: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]}; }, error: function (errorMsg) { //請求失敗時執行該函數 alert("圖表請求數據失敗!"); } });

如果你是想學習這個 作為一個吃過虧的菜鳥告訴你 先還是好好看看 官方的例子 然后理清思路在下手

以上所述是小編給大家介紹的基于Echarts 3.19 制作常用的圖形(非靜態)的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴南区| 且末县| 三河市| 汽车| 秦皇岛市| 绍兴县| 新晃| 师宗县| 崇义县| 龙山县| 阿勒泰市| 大石桥市| 涟水县| 雷波县| 南丰县| 新营市| 宜兰市| 贺州市| 彭水| 古田县| 五峰| 建宁县| 潮州市| 竹溪县| 山西省| 弥勒县| 美姑县| 城口县| 南昌市| 邹城市| 驻马店市| 洪湖市| 故城县| 台江县| 达拉特旗| 吴忠市| 云龙县| 平利县| 长阳| 东源县| 南城县|