使用echarts,需要引用在js中,如果你已经下载echarts的js包,可以直接引用js,这里我是引用网络的js包。
  1. <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>

网页打开进行加载事件,一个是echarts统计图的路径配置加载,另外一个是区域事件加载。

    //打开网页加载
$(function () {
// 路径配置
require.config({
paths: {
echarts: 'http://echarts.baidu.com/build/dist'
}
});
areaQuery();
})

我们加载的 areaQuery();这个方法,这里代码没怎么优化,本人非前端,能力有限。欢迎大家提供优化方式。这里主要是区域查询的判断,以及异步获取数据库数据

   //区域查询事件
function areaQuery() {
var arrays = new Array(); //村级数据
var nameArrays = new Array();
var county = $("#ddlCountyArea option:selected").attr("value");//县
var town = $("#ddlTownArea option:selected").attr("value");//镇
var village = $("#ddlSubArea option:selected").attr("value");//村 var AreaId = ;
var level = ;
if (village != "") {
level = ;
AreaId = village;
name = "村级区域";
} else {
if (town != "") {
AreaId = town;
level = ;
name = "镇级区域";
} else {
if (county != "") {
AreaId = county;
level = ;
name = "县级区域";
}
}
}
//异步获取统计图数据
$.ajax({
type: "post",
url: "@Url.Action("GetCommunityList")",
datatype: "json",
data: { areaId: AreaId, level: level },
beforesend: function (xmlhttprequest) {
$("#pint").text("数据正在加载中,请稍后.........");
},
success: function (json) {
nameArrays.splice(, nameArrays.length); //先清空数据,然后在插入
arrays.splice(, arrays.length); //先清空数据,然后在插入
for (var item in json) {
nameArrays.push(item);
arrays.push(parseInt(json[item]));
setOptionBar(name,nameArrays,arrays);
}
},
error: function () {
alert("数据加载异常,请联系管理员");
}
});
}

柱状图我根据自己的需要修改了下,因为是查询每次显示一种类型数据即可

    //统计图设置
function setOptionBar(name, nameArrays, arrays)
{
// 使用
require(
[
'echarts',
'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
],
function (ec) {
// 基于准备好的dom,初始化echarts图表
var myChart = ec.init(document.getElementById('main')); option = {
tooltip: {
show: true,
trigger: 'item'
},
legend: {
data: ['村级区域', '镇级区域', '县级区域']
},
toolbox: {
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['bar'] },
restore: { show: true },
saveAsImage: { show: true }
}
}, xAxis: [
{
type: 'category',
data: nameArrays,
axisLabel:
{
interval: //用来设置x轴信息是否完全显示,0表示完全显示
}
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: name,
type: 'bar',
barWidth: , // 系列级个性化,柱形宽度
itemStyle: {
normal: { // 系列级个性化,横向渐变填充
borderRadius: ,
color: (function () {
var zrColor = require('zrender/tool/color');
return zrColor.getLinearGradient(
, , , ,
[[, 'rgba(30,144,255,0.8)'], [, 'rgba(138,43,226,0.8)']]
)
})(),
label: {
show: true,
textStyle: {
fontSize: '',
fontFamily: '微软雅黑',
fontWeight: 'bold'
}
}
}
},
data: arrays,
markLine: {//显示线性数据,最大值,最小值,平均值
data: [
{ type: 'average', name: '平均值' },
{ type: 'max' },
{ type: 'min' }
]
}
}
]
};
// 为echarts对象加载数据
myChart.setOption(option);
}
);
}

效果图如下

 
echarts调用起来比较容易,在加上统计图不复杂,做起来也不怎么难,只是第一次接触,要根据自己的要求修改还有许多不太懂。描述的不是怎么好,希望给位不要见怪
 
 

asp.net MVC项目开发之统计图echarts柱状图(一)的更多相关文章

  1. asp.net MVC项目开发之统计图echarts后台数据的处理(三)

    前台显示的东西,有相应的文档很容易修改,后台传递数据方式才是我们最关心的 首先要记住,我们一步数据使用的是post,那么后台代码我们要给方法加上 [HttpPost]注解 不然异步没有效果 下面上代码 ...

  2. asp.net MVC项目开发之统计图echarts饼形图(二)

    上面介绍了柱状图,只有js代码后台的传递等我们介绍完饼形图的使用过程在做介绍 有了柱状图的介绍,在使用饼形图,其实很容易了,上代码 1.首先加载网页时,需要用到的加载项和事件. //打开网页加载 $( ...

  3. asp.net MVC项目开发之统计图的使用(前言)

    接触这个项目,是项目组长已经完成了多数需求,并且有2个项目需要完工的情况下,让我加入,给了我2个表格,让我去设计出统计图.      第一次做统计图,可以说没有任何经验,不知道该如何下手,表格的数据量 ...

  4. 习题-任务2初始ASP.NET MVC项目开发

    一.选择题 1.在ASP.NET MVC项目的RouteConfig.cs文件中,(    )方法注册了默认的路由配置. A.RegisterMap    B.RegisterRoutes    C. ...

  5. ASP.NET MVC项目实现BasePage基类用作ASPX.CS网页继承

    在ASP.NET MVC项目开发,还是需要创建一些Web Page来实现一些功能,如呈现报表等... 但是一旦项目的.ASPX网页太多了,其中的程序代码也会有代码冗余,出现这些情况,我们得需要对这些代 ...

  6. 基于BUI开发Asp.net MVC项目

    因工作性质参于并开发过一些Web应用程序,前端项目框架也用了不少,比如MiniUI.ExtJS.以及定制的项目前端框架.无意中看到BUI前端框架,第一眼就被它的优雅布局所吸引.简洁的项目门户Banne ...

  7. ASP.NET MVC——CodeFirst开发模式

    Entity Framework框架提供了几种开发模式,比如Database First,Model First,Code First.Database First是最老也是应用得最广泛的一种设计方式 ...

  8. Asp.net Mvc模块化开发之分区扩展框架

    对于一个企业级项目开发,模块化是非常重要的. 默认Mvc框架的AreaRegistration对模块化开发真的支持很好吗?真的有很多复杂系统在使用默认的分区开发的吗?我相信大部分asp.net的技术团 ...

  9. Asp.net Mvc模块化开发系列(目录)

    模块化开发是非常重要的,模块化开发是个系统性问题,为此我觉得有必须要写一个系列的文章才能基本说的清楚 那又为什么要写一个目录呢? 其一.是对我昨天承诺写一个系列新的文章的回应 其二.是先写出一个大纲, ...

随机推荐

  1. [分块][bitset][RMQ]区间

    源自 ditoly 大爷的 FJ 省队集训模拟赛题 Statement 给定一个长度为 \(n\) 的序列 \(a\) ,有 \(m\) 次询问 每次询问给出一个 \(k\) ,再给出 \(k\) 个 ...

  2. (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)

    from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1)   最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...

  3. 解决luajit ffi cdata引用cdata的问题

    使用luajit ffi会遇到cdata引用cdata的情况.官方说明是必须手动保存所有cdata的引用,否则会被gc掉. ffi.cdef[[ struct A { int id; }; struc ...

  4. C#的WinForm窗体美化

    为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体 ...

  5. 快速构建第三方api应用

    1.使用框架和扩展 详细请看composer.json "php": "^7.1.3", "laravel-admin-ext/config" ...

  6. k8s概述

    k8s概述 概述 Kubernetes 使你在数以千计的电脑节点上运行软件时就像所有这些节点是单个大节点一样.它将底层基础设施抽象,这样做同时简化了应用的开发.部署, 以及对开发和运维团队的管理. K ...

  7. java内存模型梳理

    java内存模型 内存模型和内存结构区别 它们是两个概念. 内存模型是和jvm多线程相关的. 内存结构是指的jvm内存结构. 内存模型的作用 内存模型简称JMM JMM是决定一个线程对共享变量的写入时 ...

  8. 【学习笔记】Linux基础(二):Linux的基本操作

    二.Linux的基本操作 0.正确的开关机操作 开机和登陆: 安全起见,一般不使用最高权限的root账户登入系统,光立系统时再使用 登录时为login程序提供账户名和密码即可,密码不会被显示,登陆后显 ...

  9. Leetcode 题目整理-2 Reverse Integer && String to Integer

    今天的两道题关于基本数据类型的探讨,估计也是要考虑各种情况,要细致学习 7. Reverse Integer Reverse digits of an integer. Example1: x = 1 ...

  10. 异常处理 | java.lang.IllegalArgumentException: Request header is too large

    背景 今天在自己使用Springboot开发博客系统的时候,在浏览器点击提交markdown文件一直出现以下异常: java.lang.IllegalArgumentException: Reques ...