ECharts图表引用json数据
来讲两个图表,一个折线图,一个饼图。
先来看看效果图:

现在来看看代码,先来折线图,后台:
(这里的后台太麻烦了,写的太多。可以使用Linq的方式,Linq比较简单写的也少。参考我的这篇文章的2018.7.2号的更新)
public ActionResult GetCourse()
{ string [] Name=new string [];
int[] Count=new int[]; string sql = "select top 3 a.ClassName,b.SelectCount from Course a inner join (select ClassNumber,COUNT(*) SelectCount from SelectCourse group by ClassNumber) b on a.ClassNumber=b.ClassNumber order by SelectCount desc"; SqlHelper sqlHelper = new SqlHelper();
DataTable dataTable = sqlHelper.SqlConnectionInformation(sql); for (int i = ; i < dataTable.Rows.Count; i++)
{
Name[i] = dataTable.Rows[i]["ClassName"].ToString();
Count[i] = int.Parse(dataTable.Rows[i]["SelectCount"].ToString());
} var EName = JsonConvert.SerializeObject(Name);
var ECount = JsonConvert.SerializeObject(Count); string json = $"{{\"name\":{EName},\"count\":{ECount}}}"; return Json(json);
}
然后前台:引用文件自己去写
<div id="main" style="width: 600px;height: 400px;float:left" ></div>
<script type="text/javascript">
var json;
$.ajax({
type: "post",
url: "/CourseCount/GetCourse",
dataType: 'JSON',
success: function (data) {
json = JSON.parse(data);
myChart.setOption({
title: {
text: '热门课程前三甲'
},
tooltip: {},
legend: {
data: ['选课人数']
},
xAxis: {
data: json.name
},
yAxis: {},
series: [{
name: '选课人数',
type: 'line',
data: json.count
}]
});
}
});
//将echart初始化到div中
var myChart = echarts.init(document.getElementById('main'));
//指定图表的配置项和数据
<scripts>
现在是饼图,后台:
public ActionResult GetBing()
{ string[] Name = new string[];
int[] Count = new int[]; string sql = "select top 5 a.ClassName,b.SelectCount from Course a inner join (select ClassNumber,COUNT(*) SelectCount from SelectCourse group by ClassNumber) b on a.ClassNumber=b.ClassNumber order by SelectCount desc"; SqlHelper sqlHelper = new SqlHelper();
DataTable dataTable = sqlHelper.SqlConnectionInformation(sql); for (int i = ; i < dataTable.Rows.Count; i++)
{
Name[i] = dataTable.Rows[i]["ClassName"].ToString();
Count[i] = int.Parse(dataTable.Rows[i]["SelectCount"].ToString());
} var EName = JsonConvert.SerializeObject(Name);
var ECount = JsonConvert.SerializeObject(Count); string json = $"{{\"value\":{ECount},\"name\":{EName}}}"; return Json(json);
}
前端:
<div id="bing" style="width: 600px;height: 400px;float:left"></div> <scripts>
var jsonbing;
var bing = echarts.init(document.getElementById('bing')); var brower = [];
var listname=[];
var listvalue=[] ; $.ajax({
type: "post",
url: "/CourseCount/GetBing",
dataType: 'JSON',
success: function (data) { jsonbing = JSON.parse(data);
listname = jsonbing.name;
listvalue = jsonbing.value; for (i = ; i < ; i++) {
brower.push({
value: listvalue[i],
name: listname[i]
});
} bing.setOption({
title: {
text: '热门课程前五甲',
subtext: '热度比例',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a} <br />{b} : {c} ({d}%)"
},
legend: {
// orient: 'vertical',
// top: 'middle',
bottom: ,
left: 'center',
data: listname
},
series: [
{
type: 'pie',
radius: '65%',
center: ['50%', '50%'],
selectedMode: 'single',
data: brower,
itemStyle: {
emphasis: {
shadowBlur: ,
shadowOffsetX: ,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}); }
});
<scripts>
ECharts图表引用json数据的更多相关文章
- ECharts图表中级入门之formatter:夜谈关于ECharts图表内的数据格式化方法
来源于:http://www.ithao123.cn/content-3751220.html 格式化之所以存在,主要是因为我们想把一些不够人性化的内容通过某种处理让其变得人性化,便于用户更好地理解内 ...
- ECharts SSH+JQueryAjax+Json+JSP将数据库中数据填充到ECharts中
本文引用自:http://blog.csdn.net/ArcticFoxHan/article/details/38071641 1.导入包,搭建SSH框架 导入Jquery的JS包,<sc ...
- ECharts SSH+JQueryAjax+Json+JSP在数据库中的数据来填充ECharts在
1导入包.设定SSH框架. 进口JQuery的JS包.<script src="JS/jquery-1.7.1.js"></script> 导入EChart ...
- ECharts 环形饼图 动态获取json数据
ECharts 环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...
- ECharts动态获取后台传过来的json数据进行多个折线图的显示,折线的数据由后台传过来
ECharts 多个折线图动态获取json数据 效果图如下: 一.html部分 <p id="TwoLineChart" style="width:100%; he ...
- Echarts怎么用后台传来的json数据
Echarts怎么用后台传来的json数据 <!DOCTYPE html> <html> <head> <meta http-equiv="Cont ...
- 【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化
接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: <!-- json --> <!-- 1号 --> <dependency> ...
- 基于HTML5的WebGL实现json和echarts图表展现在同一个界面
突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而且这个盒子一定要能打开.我用HT实现了我的想法,代码一百多行,这么少的代码 ...
- echarts动态加载数据无法更新series 无法更新图表
最近遇到一个Echarts图表无法动态更新数据的问题 最初我在option中设置series的值为一个数组,想着通过修改数组来动态更新图表,但是没变 化,后来发觉是因为图表数据会和之前的合并 看官方的 ...
随机推荐
- java 计算器实验
1.计算器实验报告 2.https://github.com/xujinxia/text/tree/master 3.实验截图 7+8 清除 六.总结 通过本次实验让我对JFrame类.JPanel类 ...
- 收获,不止oracle
物理体系 体系结构图 缩放 1.Oracle由实例和数据库组成,上半部分的直角方框为实例instance,下半部分的圆角方框为数据库Database. 2.实例是由一个开辟的共享内存区SGA(Syst ...
- MySQL基础~~增、删、改、简单查
mysql> desc demo; +-----------+------------+------+-----+---------+----------------+ | Field | Ty ...
- matplotlib绘图
fig = plt.figure() ax=plt.gca() timeList = np.array(timeList) timeList=timeList*100 timeList1 = np.a ...
- flask 即插视图(Pluggable Views)和endpoint
endpoint经常使用flask的人肯定不会面生.其实我一直没有关注过他是怎么寻址的,直到最近经常食用url_for这个函数才引起了我的注意. url_for看源码感觉实现挺复杂的,我们姑且不在这里 ...
- linux ubuntu nethogs安装与介绍
安装nethogs: apt-get -y install ncurses* apt-get -y install libpcap-dev libncurses5-dev wget -c https: ...
- 一个想休息的线程:JVM到底是怎么处理锁的?怎么不让我阻塞呢?
我是一个线程,生活在JVM(Java虚拟机)中, 这一段日子过得有些无聊,整个世界似乎只有这一个人,天天忙着执行代码,想休息一下都很难. 我听说人类写的代码中有些特殊的地方,叫做临界区,比如synch ...
- int ,Intege,String 三者之间的转换
注:如果使用JDK5.0的话,JVM会自动完成装包解包的. 1.Integer转换成int的方法 Integer i = new Integer(10); int k = i.intValue();即 ...
- anaconda2安装cv2
http://m.blog.csdn.net/u010167269/article/details/62447648 下载离线安装包:https://anaconda.org/menpo/opencv ...
- hadoop MapReduce 入门
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7687120.html ------------------------------------ ...