highCharts 图表统计控件使用方法
1.首先引用js文件

在引用上面文件时,保证已经引用了jquery.js文件。且位置在上面两个文件之前。
2.
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div> <script type="text/javascript">
$.post('/Json/JsonSignList/?op=' + $("#op").val() + "&date=" + $("#Date").val(), function (data) {
var data = data.Content;
var x = new Array();
var y = new Array();
for (var i = 0; i < data.length; i++) {
x[i] = data[i].Id;
y[i] = data[i].Name;
}
show(x,y);
}); function show(x, y) {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: '网报人数直观统计分析图'
},
lang:{ //这个是修改是上面 打印 下载的提升为汉字,如果在highcharts.js里面修改 简直累死
//exportButtonTitle: '导出',
//printButtonTitle: '打印',
//exportChart: '导出',
printChart: '打印',
downloadJPEG:"下载JPEG图片",
downloadPDF: "下载PDF文档",
downloadPNG: "下载PNG图片",
downloadSVG: "下载SVG矢量图"
},
xAxis: {
//categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
categories: x
},
yAxis: {
min: 0,
title: {
text: ''
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y} </b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: '网报人数',
//data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
data: y
}]
});
}
//});
</script>
3.Json数据方法
//图表统计数据
public ActionResult JsonSignList(int op, string date)
{
JsonData ret = new JsonData();
NetSignRepository rep = new NetSignRepository();
try
{
if (op == )
{
ret.Content = rep.CountnetSign(op, date).Select(e => new { Id = e.Date, Name = e.Count });
}
else if (op == )
{
ret.Content = rep.CountnetSign(op, date).Select(e => new { Id = e.Hour, Name = e.Count });
}
}
catch (Exception ex)
{
ret.Success = false;
ret.ErrorMessage = ex.Message;
}
return Json(ret);
}
}
public IEnumerable<AnalyseItem> CountnetSign(int op, string date)
{
IEnumerable<netSign> data = db.netSign;
var query = default(IEnumerable<AnalyseItem>);
switch (op)
{
case : //按日期分析
query = from p in data
group p by new { Date = String.Format("{0:yyyy-MM-dd}", p.Addtime) } into g
select new AnalyseItem
{
Date = g.Key.Date,
Count = g.Count()
};
break;
case : //按时段分析
data = data.Where(e => String.Format("{0:yyyy-MM-dd}", e.Addtime) == date);
query = from p in data
group p by new { Hour = String.Format("{0:HH}", p.Addtime) + ":00-" + String.Format("{0:HH}", p.Addtime) + ":59" } into g
select new AnalyseItem
{
Hour = g.Key.Hour,
Count = g.Count()
};
break;
}
return query;
}
highCharts 图表统计控件使用方法的更多相关文章
- 转网页WB.ExecWB控件打印方法
网页WB.ExecWB控件打印方法 2010-02-01 12:48 代码: <table width="100%" cellpadding="1" on ...
- delphi附带通用控件安装方法:
附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于 ...
- WdatePicker日历控件使用方法(转)
转自:http://www.cnblogs.com/weixing/archive/2011/08/15/2139431.html WdatePicker日历控件使用方法 1. 跨无限级框架显示 ...
- 【转】UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
原文地址:http://blog.csdn.net/zhubaitian/article/details/39777951 在本人之前的一篇文章<<Appium基于安卓的各种FindEle ...
- UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
在本人之前的一篇文章<<Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位And ...
- MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)
1. 背景 在使用MonkeyRunner的时候我们经常会用到Chimchat下面的HierarchyViewer模块来获取目标控件的一些信息来辅助我们测试,但在MonkeyRunner的官网上是没有 ...
- WdatePicker 日历控件使用方法+基本常用方法
WdatePicker 日历控件使用方法+基本常用方法,记录一下. 很好的文章. 网上转来的. 1. 跨无限级框架显示 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户 ...
- EasyUI常用控件禁用方法
EasyUI常用控件禁用方法: 1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id& ...
- WPF 绑定StaticResource到控件的方法
原文:WPF 绑定StaticResource到控件的方法 资源文件内的属性能否直接通过绑定应用到控件?答案是肯定的. 比如,我们要直接把下面的<SolidColorBrush x:Key=&q ...
随机推荐
- 字符串(扩展KMP):HDU 4333 Revolving Digits
Revolving Digits Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Codeforces 716B Complete the Word【模拟】 (Codeforces Round #372 (Div. 2))
B. Complete the Word time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- Oracle用户管理
创建用户 概述:在oracle中要创建一个新的用户使用create user 语句,一般是具有dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码: ...
- 使用ChineseLunisolarCalendar 对象由年份获得生肖名,Datetime.now.tostring获得星期几
一:使用ChineseLunisolarCalendar 对象由年份获得生肖名,截图 二:代码 using System; using System.Collections.Generic; usin ...
- delphi笔记之nativeXml 转
delphi笔记之nativeXml 使用 CreateName 建立可直接指定根节点的名称 var XmlDoc: TnativeXml; Node:TxmlNode; Begin XmlDoc ...
- 暴力求解——hdu 1799 循环多少次?
Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如 ...
- 简单的FOLLOW集演示程序
/* * 该程序用于计算某个非终结符的 FOLLOW 集合 * RexfieldVon * 2013年6月30日16:02:47 */ #include <stdio.h> #includ ...
- shell timeout
写脚本的时候,经常需要用到超时控制.看<shell专家编程>时看到一个好例:修改了一下, 1.超过timeout时间还没执行完,则kill进程,发邮件告警: set-xmailSend() ...
- mybatis处理单表多表操作以及动态sql和批量操作
一.单表操作 建立了相应的mapper映射接口类后,在src/main/resources目录下的自己建立的mapper文件夹下创建映射类 select操作:用select标签 属性id为映射接口的方 ...
- Linux 相关scsi命令
Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2] disk IBM ...