echarts在.Net中使用实例(二) 使用ajax动态加载数据
通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以.
option
名称 | 描述 |
---|---|
{color}backgroundColor | 全图默认背景,(详见backgroundColor),支持rgba,默认为无,透明 |
{Array} color | 数值系列的颜色列表,(详见color),可配数组,eg:['#87cefa', 'rgba(123,123,123,0.5)','...'],当系列数量个数比颜色列表长度大时将循环选取 |
{boolean}renderAsImage | 非IE8-支持渲染为图片,(详见renderAsImage) |
{boolean}calculable | 是否启用拖拽重计算特性,默认关闭,(详见calculable,相关的还有 calculableColor, calculableHolderColor,nameConnector, valueConnector) |
{boolean}animation | 是否开启动画,默认开启,(详见 animation,相关的还有 addDataAnimation, animationThreshold,animationDuration, animationDurationUpdate , animationEasing) |
{Object} timeline | 时间轴(详见timeline),每个图表最多仅有一个时间轴控件 |
{Object} title | 标题(详见title),每个图表最多仅有一个标题控件 |
{Object} toolbox | 工具箱(详见toolbox),每个图表最多仅有一个工具箱 |
{Object} tooltip | 提示框(详见tooltip),鼠标悬浮交互时的信息提示 |
{Object} legend | 图例(详见legend),每个图表最多仅有一个图例,混搭图表共享 |
{Object}dataRange | 值域选择(详见dataRange),值域范围 |
{Object}dataZoom | 数据区域缩放(详见dataZoom),数据展现范围选择 |
{Object}roamController | 漫游缩放组件(详见roamController),搭配地图使用 |
{Object} grid | 直角坐标系内绘图网格(详见grid) |
{Array | Object}xAxis | 直角坐标系中横轴数组(详见xAxis),数组中每一项代表一条横轴坐标轴,标准(1.0)中规定最多同时存在2条横轴 |
{Array | Object}yAxis | 直角坐标系中纵轴数组(详见yAxis),数组中每一项代表一条纵轴坐标轴,标准(1.0)中规定最多同时存在2条纵轴 |
{Array} series | 驱动图表生成的数据内容(详见series),数组中每一项代表一个系列的特殊选项及数据 |
首先定义一个Serial类
/// <summary>/// 定义一个Series类 设置其每一组sereis的一些基本属性/// </summary>class Series{/// <summary>/// sereis序列组id/// </summary>//public int id//{// get;// set;//}/// <summary>/// series序列组名称/// </summary>public string name{get;set;}/// <summary>/// series序列组呈现图表类型(line、column、bar等)/// </summary>public string type{get;set;}/// <summary>/// series序列组的数据为数据类型数组/// </summary>public List<double> data{get;set;}}
接着将Serial实例化并将其转化为json格式(必须用大神器:Newtonsoft.Json.dll),代码如下图
private void ShowChart(){//考虑到图表的series数据为一个对象数组 这里额外定义一个series的类List<Series> seriesList = new List<Series>();Series series1 = new Series();series1.name = "actual";series1.type = "bar";series1.data = new List<double>(){ 26061649.1, 26161649.41, 21782199.14, 27749708.51, 8819500.47, 27711342.26, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00 };Series series2 = new Series();series2.name = "Budget";series2.type = "bar";series2.data = new List<double>() { 28176503.36, 26161649.41, 21782199.14, 27749708.51, 8819500.47, 27711342.26, 2777777.00, 0.00, 0.00, 0.00, 0.00, 0.00, };seriesList.Add(series1);seriesList.Add(series2);var newObj = new{series = seriesList};string strJson = ToJson(newObj);WriteJson(strJson);}public static string ToJson( object obj){return NewtonsoftJson(obj);}public static string NewtonsoftJson(object obj){return Newtonsoft.Json.JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.None);}private static void WriteJson(string str){HttpContext.Current.Response.Write(str);//HttpContext.Current.Response.ContentType = "text/plain"; //设置MIME格式HttpContext.Current.Response.End();}
前台代码只需要用ajax来获取值并赋给option的serial属性即可
<!DOCTYPE html>
<html> <head><meta charset="utf-8" /><script type="text/javascript" src="jquery-1.9.1.min.js"></script><script type="text/javascript" src="echarts/echarts.js"></script></head><body><div id="main" style=" height:400px;"></div></body>
</html> <script type="text/javascript">// 路径配置require.config({paths: {echarts: 'echarts'}});// 使用require(['echarts','echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载],function (ec) {// 基于准备好的dom,初始化echarts图表var myChart = ec.init(document.getElementById('main'));var option = {tooltip: {show: true},legend: {data: ['Actual', 'Budget']},xAxis: [{type: 'category',data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']}],yAxis: [{type: 'value'//Y轴显示的类型,默认为value}],series: []};//ajax动态获取数据$.ajax({type: 'post',url: 'ajax.ashx?action=ShowChart',data: {},dataType: 'json',async: false,success: function (result) {if (result) {// 获取json值option.series = result.series;// 为echarts对象加载数据 myChart.setOption(option);} },error: function () {alert("Error");}});});</script>
所见即所得
当然,最后奉上源码!
源代码下载
echarts在.Net中使用实例(二) 使用ajax动态加载数据相关推荐
- echarts html ajax,ECharts+Ajax动态加载数据实例(.NET)
什么是ECharts ECharts 是一个数据可视化工具,提供了系列常用图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折 ...
- ECharts动态加载数据绘制折线图
Echarts动态加载数据绘制折线图 ECharts 引入ECharts 步骤 连接数据接口,动态加载图表 动态加载数据,整体代码 折线图绘制 总结 绘制多个图表的方法 ECharts 纯Javasc ...
- 微信小程序使用Echarts图表组件,动态加载数据,图表模糊处理
1:下载 GitHub 上的项目 https://github.com/ecomfe/echarts-for-weixin 2:项目下载之后,打开小程序开发工具,可以看到效果如下 3:如果是在项目里面 ...
- python爬虫实例解析-Python(爬虫)- 动态加载案例分析
requests """ 基于网络请求的模块. 环境的安装:pip install requests 作用:模拟浏览器发起请求 分析requests的编码流程: 1.指定 ...
- jquery table ajax,JQuery Ajax动态加载Table数据的实例讲解
我们在jsp定义一个select和一个table,要求实现根据select的选值,动态加载table数据. table第一次加载数据的function定义如下: function loadData() ...
- echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava
[ASP.net教程]ECharts Java 动态加载数据,echartsjava 0 2015-12-18 00:00:05 1.前台jsp页面html PUBLIC "-//W3C// ...
- java中echat如何动态_ECharts Java 动态加载数据,echartsjava
1.前台jsp页面 pageEncoding="UTF-8"%> html PUBLIC "-//W3C//DTD HTML 4.01 Transitional// ...
- java中echat如何动态_ECharts Java 动态加载数据
1.前台JSP页面ECharts// 配置路径require.config({paths: {echarts: ${ctx}/plugins/echarts- 1.前台JSP页面 pageEncodi ...
- echarts动态加载数据生成饼状图
本文简单介绍使用ajax从JSON文件加载数据,动态生产并状态,第一次写,供大家参考.欢迎大家提出优化意见和建议. 一下是前端的代码: <!DOCTYPE html> <html l ...
最新文章
- H5进阶篇--实现微信摇一摇功能
- Install oracle10g using responseFile in silent mode
- 经典C语言程序100例之二七
- Simple TCP Server Client Socket C
- linux io函数,unix/Linux低级IO函数的用法有哪些? 爱问知识人
- c/c++教程 - 2.4.1 类和对象,封装,class和struct的区别,成员属性设为私有,类拆分成.h.c文件编写方法
- 数据结构与算法python—10.二叉树题目leetcode总结
- WampServer 给电脑搭建apache服务器和php环境
- android 优秀框架整理
- Facebook 全面禁止口罩广告,各平台如何打击哄抬、售假
- [02]Hello World!
- RT-Thread实战笔记|MPU6050使用详解及DMP姿态解算
- 关于自学HTML+CSS+JS的日子
- 面向对象程序设计第三次实验课——Wuxing
- Lucene深入浅出
- pytorch拟合sin函数
- 【毕业设计】基于RFID的门禁系统 - 单片机 物联网 嵌入式 stm32
- 适配Android Q拍照和读取相册图片
- 狂神说网站免费获取500K币
- element UI table表格自动生成序号
热门文章
- OpenGL 位图字体渲染的实例
- OpenGL实现高度图
- C语言快速排序 quick sort 算法(附完整源码)
- C语言和C++中的struct 和typedef struct
- C语言数据类型本质分析
- guibuilder 皮肤_和平精英返场皮肤投票排名介绍-返场皮肤哪个好
- 安徽大学计算机考研失败,回馈:2014年安徽大学计算机初试回忆题,我是雷锋,低调...
- mysql myisam 主从_MySQL的主从复制Replication之MyIsam和InnoDB数据复制发布
- android webview loadurl本地,Android WebView 使用loadUrl方法执行本地JavaScript
- Faster RCNN总结