• 图标控件HightChart的使用


    基本的介绍:    

    Highcharts是一个非常流行,界面美观的纯Javascript图表库。它主要包括两个部分:Highcharts和Highstock。Highcharts可以为您的网站或Web应用程序提供直观,互动式的图表。目前支持线,样条,面积,areaspline,柱形图,条形图,饼图和散点图类型。Highstock可以为您方便地建立股票或一般的时间轴图表。它包括先进的导航选项,预设的日期范围,日期选择器,滚动和平移等等。

    使用方法:

    1. Highcharts使用jQuery等Javascript框架来处理基本的Javascript任务,所以使用时要引用jquery文件;引用文件如下:

    <!--在jquery的框架下运行-->
    <script src="~/higthchart/jquery.min.js"></script>
    
    <!--基本的引用-->
    <script src="~/higthchart/highcharts.js"></script>
    
    <!--图表右上方是否显示导出的菜单-->
    <script src="~/higthchart/exporting.js"></script>
    
    <!--增加3D、散点图等的效果-->
    <script src="~/higthchart/highcharts-3d.js"></script>
    <script src="~/higthchart/highcharts-more.js"></script>
    
    <!--指订表格的主题  指定charset="gb2312"  防止汉化菜单会乱码 -->
    <script charset="gb2312" src="~/higthchart/grid.js"></script>

    2.页面加载时加载数据,代码如下:

     $('#lineContainer').highcharts({
    title: {
                    text: '月温度统计表',
                    x: -20 //center
                },
                subtitle: {
                    text: '来源: 个人统计',
                    x: -20
                },
                xAxis: {
                    categories: ['1月', '2月', '3月', '4月', '5月', '6月',
                        '7月', '8月', '9月', '10月', '11月', '12月']
                },
                yAxis: {
                    title: {
                        text: '温度 (°C)'
                    },
                    plotLines: [{
                        value: 0,
                         1,
                        color: '#808080'
                    }]
                },
                tooltip: {
                    valueSuffix: '°C'
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',//标题的配置
                    verticalAlign: 'middle',
                    borderWidth: 0
                },
    
                //静态数据
                series: [{
                    name: '北京',
                   data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
                }, {
                    name: '厦门',
                    data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
                }, {
                    name: '温州',
                    data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
                }, {
                    name: '周口',
                    data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
                }]
    
             
            });

    我们在做开发时当然要动态的加载数据,可用jquery的ajax方式条后台的方法获取数据,然后再进行绑定即可,如何绑定呢,不急,看下面:

    首先初始化一个chart对象,并把其中涉series数据data设置为空:

      var option = ({
                chart: {
                    renderTo: "lineContainer",
                    plotBackgroundColor: null,
                    plotBorderWidth: null,
                    plotShadow: false
                },
                title: {
                    text: '月温度统计表',
                    x: -20 //center
                },
                subtitle: {
                    text: '来源: 个人统计',
                    x: -20
                },
                xAxis: {
                    categories: ['1月', '2月', '3月', '4月', '5月', '6月',
                        '7月', '8月', '9月', '10月', '11月', '12月']
                },
                yAxis: {
                    title: {
                        text: '温度 (°C)'
                    },
                    plotLines: [{
                        value: 0,
                         1,
                        color: '#808080'
                    }]
                },
                tooltip: {
                    valueSuffix: '°C'
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',//标题的配置
                    verticalAlign: 'middle',
                    borderWidth: 0
                },
    
                //静态数据
                //series: [{
                //    name: '北京',
                //    data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
                //}, {
                //    name: '厦门',
                //    data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
                //}, {
                //    name: '温州',
                //    data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
                //}, {
                //    name: '周口',
                //    data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
                //}]
    
                series: []
            });

    然后绑定即可:

        var data1 = [];
            $.post("/Home/getLineChartData", function (json) {
                $(json).each(function (index, item) { 
                    var tem = [];
                    $(item.val).each(function (index, i) {
                        tem.push(i);
                    });
                    data1.push({ name: item.name, data: tem });
                });
                //方法2
                option.series = data1;
                var chart = new Highcharts.Chart(option);
            });
    
     //    var data1 = [];
     //       $.post("/Home/getChartData", function (json) {
    //            $(json).each(function (index, item) {
     //               data1.push([item.name, item.val]);
    //            });
    //
     //          chart1.series[0].setData(data1);
    //        });

    3.运行代码效果如下,界面还是挺酷的

    4.由于图片的菜单是英文的,所以要汉化一下,在主题文件下面添加以下代码即可:

    Highcharts.setOptions({
        lang: {
            contextButtonTitle: "图表菜单",
            printChart: "打印图片",
            downloadJPEG: "下载JPEG 图片",
            downloadPDF: "下载PDF文档",
            downloadPNG: "下载PNG 图片",
            downloadSVG: "下载SVG 矢量图",
            exportButtonTitle: "导出图片"
        }
    });

    HIghChartS官网:http://www.highcharts.com/

    HighCharts Demo:http://www.highcharts.com/demo/

  • 相关阅读:
    Windows CMD 配置 启动 服务
    Starting a Service
    socket 相关文章
    Qt GUI程序带命令行
    socket 双向
    winsock Options
    winsock 主动切断连接 Connection Setup and Teardown
    在 u 开头的单词前面,用 a 还是 an
    Web自动化----搭建基本环境
    Python----yield 生成器
  • 原文地址:https://www.cnblogs.com/wangchengshen/p/3812415.html
Copyright © 2020-2023  润新知