百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK。至于说如何体现出来,官网的教程很详细。大家可以去看下。大概了解下用法就OK。
百度ECharts 3:http://echarts.baidu.com/index.html
其实还有很多,可以到官网中找。
下面是我进行操作的步奏,大家可以看下,做个参考。
ECharts初体验—01...
需要到官网下载最新的版本的js文件(完整版),其实只有一个,但是你要想出来一些好看的效果就应该把主题也下载好。
地址:http://echarts.baidu.com/download.html
其实只需要4步就OK。
1:划分一块区域用来显示图形;
2:初始化echart插件;
3:填充option中的数据data;
4:加载,装配数据到echart。
这样就OK了。其实最难的不是使用,而是如何将这个插件和自己的后台联系起来,比如数据应该展示那些,如何将数据json化之后传递过来。如何实现异步等……
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: '堆叠区域图'
- },
- //气泡提示框,呈现更详细的数据。
- tooltip: {
- trigger: 'axis'
- },
- //图例,表述数据和图表的关联
- 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轴--数据值
- yAxis: [
- {
- type: 'value'
- }
- ],
- //数据列表,一个图表可能包含多个系列,每一个系列可能包含多个数据。格式为json的形式。
- series: [
- {
- name: '邮件营销',
- type: 'line',
- stack: '总量',
- areaStyle: { normal: {} },
- label: {
- normal: {
- show: true,
- position: 'top'
- }
- },
- data: [, , , , , , , , , , , , , , ]
- }
- ]
- };
- //第三步 使用刚指定的配置项和数据显示图表。
- myChart.setOption(option);
- </script>
其中的每一步都有解释,每一个名词都有各自的意义,大家可以了解下。至于每一个data,都是使用静态的json,后面会从后台传递数据。下面是这个的效果。
ECharts初体验—03...
其实上面的数据都是静态的,很好的实现。但是对于我们实际的项目中都是从数据库中取到的数据,不可能是静态的,此时我们就需要将其json化,进行一定的转换。把数据从后面传递到前台,在进行操作。
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();
- for (int i = ; i <=; i++)
- {
- listData.Add(datetimes.AddDays(-i).ToString("yyyy-MM-dd"));
- }
- listData.Reverse();
- var aa = new int[] { , , , , , , , , , , , , , , };
- var data = new DateList()
- {
- datetime = listData,
- ordernumber = aa,
- };
- return Json(new{status=,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 == ) {
- console.log(response.result.datetime);
- console.log(response.result.ordernumber);
- var option = {
- title: {
- text: '近10天订单数量分析图'
- },
- //气泡提示框,呈现更详细的数据。
- tooltip: {
- trigger: 'axis'
- },
- //图例,表述数据和图表的关联
- 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轴--数据值
- yAxis: [
- {
- type: 'value'
- }
- ],
- //数据列表,一个图表可能包含多个系列,每一个系列可能包含多个数据。格式为json的形式。
- series: [
- {
- name: '订单总量',
- type: 'line',
- stack: '总量',
- label: {
- normal: {
- show: true,
- position: 'top'
- }
- },
- areaStyle: { normal: {} },
- data: response.result.ordernumber
- }
- ]
- };
- myChart.clear();
- myChart.hideLoading();
- //// 使用刚指定的配置项和数据显示图表。
- myChart.setOption(option);
- } else {
- alert("图表请求不成功,请重新请求。");
- }
- });
- </script>
效果如下:
我们可以发现颜色和第二个的不一样,这个就是我们使用了主题,这个在获取dom元素的时候标记的。如下所示。
下面是一个饼状图的主要option,其余的不变;
- myChart.setOption({
- series: [
- {
- name: '访问来源',
- type: 'pie',
- radius: '55%',
- data: [
- { value: , name: '搜索引擎' },
- { value: , name: '直接访问' },
- { value: , name: '邮件营销' },
- { value: , name: '联盟广告' },
- { value: , name: '视频广告' }
- ]
- }
- ]
- });
我一直相信,只要我一直走,就一定可以到达。虽然我不知道要到那里去...
百度EChart3初体验的更多相关文章
- Android开发学习之路--百度地图之初体验
手机都有gps和网络,通过gps或者网络可以定位到自己,然后通过百度,腾讯啊之类的地图可以显示我们的地理位置.这里学习下百度地图的使用.首先就是要申请开发者了,这个详细就不多讲了.http://dev ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- node.js 初体验
node.js 初体验 2011-10-31 22:56 by 聂微东, 174545 阅读, 118 评论, 收藏, 编辑 PS: ~ 此篇文章的进阶内容在为<Nodejs初阶之express ...
- wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- YII学习,初体验 ,对YII的一些理解.
先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...
- 文档数据库RavenDB-介绍与初体验
文档数据库RavenDB-介绍与初体验 阅读目录 1.RavenDB概述与特性 2.RavenDB安装 3.C#开发初体验 4.RavenDB资源 不知不觉,“.NET平台开源项目速览“系列文章已经1 ...
- Linux之初体验
预备作业03--我的Linux初体验 学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 一开始以为这个项目很简单,以往也在自己的笔记本上看教程安装过软件, ...
- 20155226-虚拟机与Linux之初体验
虚拟机与Linux之初体验 虚拟机的安装 虚拟机对我来说不是很了解,但今天在安装过程中加深了我的理解.虚拟机是一个在原来系统基础上进行的又一个系统安装,可以在不影响前者的情况下完成一些其不能解决的问题 ...
- 20155315庄艺霖第三次作业之Linux初体验
Linux初体验 安装Linux三两事 老师的作业要求基于VirtualBox安装Linux系统,我一开始下载了VB但是电脑运行不了,后来看网上的教程下载了VMware,才算开始了我的Linux之旅. ...
随机推荐
- 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???
在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...
- MAVEN学习-第一个Maven项目的构建
MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...
- 枚举:enum
枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...
- Ubuntu(Linux) + mono + jexus +asp.net MVC3 部署
感谢 张善友 的建议,我把 微信订餐 由nginx 改成 jexus,目前运行状况来说,确实稳定了很多,再次感谢. 部署步骤参考 jexus官网:http://www.jexus.org/ htt ...
- 凭吊一下ASP.NET 5,然后跨平台,越跨越开心
ASP.NET 5 is dead ASP.NET 5在今年早些时候被宣判死刑了.但是这并不影响我们之前在ASP.NET 5乃至ASP.NET MVC平台上的经验累积--没错,微软改名部门又立功了!他 ...
- 腾讯云下安装 nodejs + 实现 Nginx 反向代理
本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑 ...
- (译)你应该知道的jQuery技巧
帮助提高你jQuery应用的简单小技巧. 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide ...
- [Intel Edison开发板] 02、Edison开发板入门
一.前言 Start from the link: 开始学习的链接 上面链接是官网的教程,按照教程可以开发板入门: 其中第一步是了解开发板,涉及到如何组装.如何连线.一些主要的接口简单介绍等信息: 第 ...
- 自定义ActionBar标题与菜单中的文字样式
自定义标题文字样式 标题样式是ActionBar样式的一部分,所以要先定义ActionBar的样式 <style name="AppTheme" parent="A ...
- mysql 列名中 包含斜杠或者空格的处理方式
今天客户那边遇到了一个比较奇葩的问题跑来问我,这个问题比较冷门,所以特别记录下. 问题描述 数据库的字段存在斜杠或者空格的时候,怎么用sql进行insert或者select操作. 问题解答 对于这种特 ...