highCharts 图表统计控件使用方法

1.首先引用js文件

在引用上面文件时,保证已经引用了jquery.js文件。且位置在上面两个文件之前。

2.

 1 <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
 2
 3 <script type="text/javascript">
 5     $.post(‘/Json/JsonSignList/?op=‘ + $("#op").val() + "&date=" + $("#Date").val(), function (data) {
 6         var data = data.Content;
 7         var x = new Array();
 8         var y = new Array();
 9         for (var i = 0; i < data.length; i++) {
10             x[i] = data[i].Id;
11             y[i] = data[i].Name;
12         }
13         show(x,y);
14     });
15
16     function show(x, y) {
17         $(‘#container‘).highcharts({
18             chart: {
19                 type: ‘column‘
20             },
21             title: {
22                 text: ‘网报人数直观统计分析图‘
23             },
24             lang:{  //这个是修改是上面 打印 下载的提升为汉字,如果在highcharts.js里面修改 简直累死
25                 //exportButtonTitle: ‘导出‘,
26                 //printButtonTitle: ‘打印‘,
27                 //exportChart: ‘导出‘,
28                 printChart: ‘打印‘,
29                 downloadJPEG:"下载JPEG图片",
30                 downloadPDF: "下载PDF文档",
31                 downloadPNG: "下载PNG图片",
32                 downloadSVG: "下载SVG矢量图"
33             },
34             xAxis: {
35                 //categories: [‘Jan‘, ‘Feb‘, ‘Mar‘, ‘Apr‘, ‘May‘, ‘Jun‘, ‘Jul‘, ‘Aug‘, ‘Sep‘, ‘Oct‘, ‘Nov‘, ‘Dec‘]
36                 categories: x
37             },
38             yAxis: {
39                 min: 0,
40                 title: {
41                     text: ‘‘
42                 }
43             },
44             tooltip: {
45                 headerFormat: ‘<span style="font-size:10px">{point.key}</span><table>‘,
46                 pointFormat: ‘<tr><td style="color:{series.color};padding:0">{series.name}: </td>‘ +
47                     ‘<td style="padding:0"><b>{point.y} </b></td></tr>‘,
48                 footerFormat: ‘</table>‘,
49                 shared: true,
50                 useHTML: true
51             },
52             plotOptions: {
53                 column: {
54                     pointPadding: 0.2,
55                     borderWidth: 0
56                 }
57             },
58             series: [{
59                 name: ‘网报人数‘,
60                 //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]
61                 data: y
62             }]
63         });
64     }
65     //});
66 </script>

3.Json数据方法

 //图表统计数据
        public ActionResult JsonSignList(int op, string date)
        {
            JsonData ret = new JsonData();
            NetSignRepository rep = new NetSignRepository();
            try
            {
                if (op == 1)
                {
                    ret.Content = rep.CountnetSign(op, date).Select(e => new { Id = e.Date, Name = e.Count });
                }
                else if (op == 2)
                {
                    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 1:   //按日期分析
                    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 2:   //按时段分析
                    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 图表统计控件使用方法

时间: 2024-10-12 12:07:25

highCharts 图表统计控件使用方法的相关文章

Chart FX for Java Server 图表解决方案控件下载及介绍

Chart FX for Java Server为有多种数据展示需求的开发者提供一个现成的图表解决方案.Chart FX 7 for Java Server建立在以Chart FX for Java 6.5 Developer为基础的企业质量技术上, 通过增加一个框架独立,基于Ajax的运行时用户界面来使您的图表,地图和统计图提供丰富的用户接口元素,这些元素具有零空间占用或者插件的需求 具体功能: 易于编码和整合 Chart FX通过最小的整合就可以提供开发者高级图表特性.拥有很有用的工具,比如

Atitit.swt&#160;线程调用ui控件的方法

Atitit.swt 线程调用ui控件的方法 1 SwingUtilities.invokeLater1 2 display.asyncExec方法1 3  display.timerExec(500,timer);2 4 .但有时候并不一定要程序执行时就要定时检测,有时需要外部事情激发这就出现了第2种解决方案,写一个内置类,可以放在事件监听的方法中,然后激发:2 5 参考3 1   SwingUtilities.invokeLater SwingUtilities.invokeLater(ne

UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)

在本人之前的一篇文章<<Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位Android界面上的控件,当时只是一笔带过举了个例子.如该文给自己的承诺,今天特撰写此文以描述UIAutomator各种控件定位的方法,以作为前文的姊妹篇互通有无. 1. 背景 为了和前文达成一致,这次的实践对象同样也是使用SDK自带的NotePad应用,同样是尝试去获得在NotesList那个Activity里

MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)

1. 背景 在使用MonkeyRunner的时候我们经常会用到Chimchat下面的HierarchyViewer模块来获取目标控件的一些信息来辅助我们测试,但在MonkeyRunner的官网上是没有看到相应的API的描述的,上面只有以下三个类的API引用信息(http://developer.android.com/tools/help/MonkeyDevice.html) MonkeyDevice MonkeyImage MonkeyRunner 所以在这里尝试整理下HierarchyVie

EasyUI常用控件禁用方法

EasyUI常用控件禁用方法: 1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id").attr("readonly", true); -----  $("#id").removeAttr("readonly"); <2>.$("#id").attr("readonly"

WdatePicker 日历控件使用方法+基本常用方法

WdatePicker 日历控件使用方法+基本常用方法,记录一下. 很好的文章. 网上转来的. 1. 跨无限级框架显示 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,因为My97日期控件是可以跨无限级框架显示的 示例2-7 跨无限级框架演示 可无限跨越框架iframe,无论怎么嵌套框架都不必担心了,即使有滚动条也不怕 2. 民国年日历和其他特殊日历 当年份格式设置为yyy格式时,利用年份差量属性yearOffset(默认值1911民国元年),可实现民国年日

C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

? 1 2 3 4 //点击一下即可对DataGridView中内嵌控件进行编辑,不需要二次点击 dgv.EditMode =DataGridViewEditMode.EditOnEnter; //DataGridView无默认行 dgv.AllowUserToAddRows = false; C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

WdatePicker日历控件使用方法(转)

转自:http://www.cnblogs.com/weixing/archive/2011/08/15/2139431.html WdatePicker日历控件使用方法 1. 跨无限级框架显示 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,因为My97日期控件是可以跨无限级框架显示的 示例2-7 跨无限级框架演示 可无限跨越框架iframe,无论怎么嵌套框架都不必担心了,即使有滚动条也不怕 2. 民国年日历和其他特殊日历 当年份格式设置为yyy格式时,利

ASP.NET动态加载用户控件的方法

方法是使用LoadControl方法,根据用户控件的相对路径,动态生成用户控件对象 用户控件 public class UserControlA :UserControl { public UserControlA(string name) { //TODO } } 需要动态生成控件的地方 string ucPath = "../UserControls/UserControlA.ascx"; UserControlA ca = Page.LoadControl(ucPath) as