使用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. Ubuntu阿里镜像

    ubuntu 14.04: http://mirrors.aliyun.com/ubuntu-releases/14.04/ ubuntu 16.04: http://mirrors.aliyun.c ...

  2. 解决android sdk无法更新 更新慢的问题

    使用不同平台开发android应用的时候都要先搭建开发环境. 这里介绍一下搭建开发环境过程中更新和下载android sdk的一种方法: 第一步:配置android sdk manager的代理服务, ...

  3. 美食家App开发日记4

    研究了卡片式布局中的Recyclerview的用法,但是调试了很长时间,导入包总是有问题,一到手机上运行就会闪退.还是在网上查了很多方法,很不开心我还是解决不了.

  4. 建立MVC的依赖项注入 Setting up MVC Dependency Injection 精通ASP-NET-MVC-5-弗瑞曼

    The result of the three steps I showed you in the previous section is that the knowledge about the i ...

  5. linux pycharm 安装

    Ubuntu安装之python开发   什么??公司要用Ubuntu(乌班图)?不会用??怎么进行python开发??? 乌班图操作系统下载地址:http://releases.ubuntu.com/ ...

  6. Nginx搭建过程

    https://www.cnblogs.com/gscq073240/articles/6773000.html

  7. Object-c的字符串处理常用方法

    Object-c的字符串处理常用方法 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { ...

  8. redis5.0 Cluster集群搭建

    安装redis sudo apt update sudo apt install build-essential tcl cd ~ mkdir document/ cd document/ curl ...

  9. 共轭先验(conjugate prior)

    共轭是贝叶斯理论中的一个概念,一般共轭要说是一个先验分布与似然函数共轭: 那么就从贝叶斯理论中的先验概率,后验概率以及似然函数说起: 在概率论中有一个条件概率公式,有两个变量第一个是A,第二个是B , ...

  10. c和c++中读取数据的方式总结

    目录 c 输出 printf() 输入 scanf getchar(), putchar() gets(), puts() c++ 输入 cin() getline() get() 输出 cout 最 ...