使用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. final与 static的区别;static代码块以及嵌套类介绍

    本篇文章主要分为两个模块进行介绍:1.final,staic,static final之间的异同:2. static 模块:3.嵌套类的概念 1.final,staic,static final之间的 ...

  2. MCLS Notes

    MainToolbar View Button Click Event handle àMainToolbar.xaml.cs OnConnect() functionàService.Messeng ...

  3. nuxt.js学习初探

    项目目标 把我个人博客的前端界面部分使用nuxt框架进行服务端渲染 nuxt介绍 nuxt可以把spa根据路由将单页面分割成多页面,比起vue的ssr渲染要更容易使用 nuxt的使用 项目创建 npx ...

  4. ES6笔记分享 part 1

    ECMAScript ES6 从一脸懵逼到灵活运用 var let const var let const 的比较 声明与赋值 var声明的变量是可以重新赋值的,也可以重复声明 let和const声明 ...

  5. Python3-提高效率的方法

    1.字符串格式化 Python3.7或以上推荐使用f-string,其他版本推荐使用format方法. 2.字典的初始化 使用字面量初始化字典(以及其他集合类型). 说明:Python中初始化集合类型 ...

  6. 爬虫之协程,selenium

    1.什么是代理?代理和爬虫之间的关联是什么? 2.在requests的get和post方法常用的参数有哪些?分别有什么作用?(四个参数) - url headers parmas/data proxi ...

  7. Nginx(二) 常用配置

    全局配置段 # 允许运行nginx服务器的用户和用户组 user www-data; # 并发连接数处理(进程数量),跟cpu核数保存一致: worker_processes auto; # 存放 n ...

  8. Git详解之内部原理

    前言 不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式.我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认 ...

  9. Java反射机制——学习总结

    前几天上REST课,因为涉及到Java的反射机制,之前看过一直没有用过,有些遗忘了,周末找了些资料来重新学习,现在总结一下,加深印象. 什么是反射机制? 参考百度百科对java反射机制的定义: “JA ...

  10. 读《Clean Code 代码整洁之道》之感悟

    盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊.我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手 最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句 ...