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的值为一个数组,想着通过修改数组来动态更新图表,但是没变 化,后来发觉是因为图表数据会和之前的合并 看官方的 ...
随机推荐
- Hibernate_core_method
/** * Created by Administrator on 2015/11/30. *HibernateUtil */public class HibernateUtil { private ...
- Hacked VisualSVN Server by PHP to allow user change password
index.php <?php$username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名$authed ...
- python贡献度分析20/80定律
#-*- coding: utf-8 -*- #菜品盈利数据 帕累托图 from __future__ import print_function import pandas as pd #初始化参数 ...
- python自动化运维笔记2 —— IP地址处理模块IPy
1.2 实用的IP地址处理模块IPy ip地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能.可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括 ...
- 简单FTP服务器搭建
1 配置IIS 打开控制面板-卸载程序-点击 打开或关闭windows功能-勾选 internet信息服务-确定 2 配置iis web站点 开始菜单-搜索iis并进入iis管理器(计算机-右键-管理 ...
- js對象構造
創建對象的3種方式: 1. var a=new Object() a.attributes=“1”: 2. var a={attributes:"1",aa:"2&quo ...
- day13 for内部机制详解,迭代器
迭代器定义: 可迭代协议:含有iter方法的都是可以迭代的 迭代器协议: 有.next 方法,和iter的都是迭代器 必须存在终结 特点: 节省空间 方便逐个取值,一个迭代器只能取一次 简单来说:满足 ...
- mysql Packet for query is too large (2036 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
解决方法: 打开控制台,输入下面语句,执行 set global max_allowed_packet = 20*1024*1024; 网上说要重启 mysql server, 我是执行完后不用重启就 ...
- 自定义git忽略规则
输入命令 >a.o git status 此时我想让git忽略这个文件的更新 输入命令 > .gitignore echo "a.o" >> .gitign ...
- HNOI2017礼物
礼物 这估计是最水,最无脑的一道题了 首先发现总和最接近时答案最小 发现答案就是\((\sum_{i=1}^{n}a[i]^2+b[i]^2)-2*max(\sum_{i=1}^{n}a[i]*b[i ...