HighStock使用记录

1,需要在页面头部先导入相关JS,切记:需要先导入jQuery.main.js,然后导入Highstock.js才能正确的使用,因为Highstock是基于jQuery的。

<script type="text/javascript" src="<%=path%>/js/jquery-1.8.3.min.js"></script>

<script type="text/javascript" src="<%=path%>/js/highstock.js"></script>
<script type="text/javascript"  src="<%=path%>/js/highcharts-js/modules/exporting.js"></script>

2,进行全局设置

Highcharts.setOptions({
    global: {
        useUTC: false,//关闭UTC显示时间格式
    },
    lang: {

        shortMonths: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],//月份缩写
        weekdays: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'],//周缩写
        //导航条选择器设置文字
        rangeSelectorTo: "至",
        rangeSelectorFrom: "从",
        rangeSelectorZoom: "选择范围",
        resetZoom: "重置",
        // noData: "暂无数据",
        // fontsize:14,

    }

});

3,进行初始化设置图表:

   1)、图表类型:

//图表类型
chart: {
    zoomType: "xy",
    type: "spline",
    animation: Highcharts.svg,
    marginRight: 10,

},

   2)、版权信息是否显示:默认为true

//版权信息
credits: {
    enabled: false
},

   3)、数据导航:navigator

//数据导航
navigator: {
    adaptToUpdatedData: true,
    xAxis: {
        labels: {
            format: '{value:%Y-%m-%d}',
        },
    },
},

 4)、导航按钮设置:rangeselector

//选择器快捷按钮
rangeSelector: {
    buttons: [{
        type: 'day',
        count: 1,
        text: '1天',
    }, {
        type: 'day',
        count: 3,
        text: '3天'
    }, {
        type: 'week',
        count: 1,
        text: '7天'
    }, {
        type: 'month',
        count: 1,
        text: '1月'
    }, {
        type: 'all',
        text: '所有'
    }],
    selected: 1,
},

   5)、pointOptions:数据列配置

//             数据列配置是针对所有数据列及某种数据列有效的通用配置。
//              数据列的配置有三个级别:
//                  配置在 plotOptions.series,针对所有图表类型有效
//                  配置在 plotOptions.<数据列类型>,针对某种数据列有效
//                  配置在 series,针对某个数据列有效
            pointOptions: {
                series: {
                    showInLegend: true,
                    turboThreshold:dataLength,
                },
            },


  6)、legend:显示图表

//获取一个实例图表
legend: {
    enabled: true//控制图例的显示,默认为true
},
//显示图表标题
title: {
    text: "藻类历史数据"
},

  7)、XY轴属性设置:

//X轴属性设置
xAxis: {
    type: 'datetime',

    dateTimeLabelFormats: {
        second: '%m-%d<br/>%H:%M:%S',
        minute: '%m-%d<br/>%H:%M',
        hour: '%m-%d<br/>%H:%M',
        day: '%Y<br/>%m-%d',
        week: '%Y<br/>%m-%d',
        month: '%Y-%m',
        year: '%Y'
    }
},
//Y轴属性的设置
yAxis: {
    opposite: false,
    title: {
        text: "单位:浓度(%)",
    },
    plotLines: [{
        value: 0,
        width: 1,
        color: '#808080'
    }],
},

  8)、导出功能是否开启

//开启导出
exporting: {
    enable: true,  //false为关闭
},

 9)、数据提示:

tooltip: {
    shared: true, //是否共享提示,也就是X一样的所有点都显示出来
    xDateFormat: '%Y-%m-%d %H:%M:%S',
    useHTML: true, //是否使用HTML编辑提示信息
    headerFormat: '<small>{point.key}</small><table>',
    pointFormat: '<tr><td style="color: {series.color}">{series.name}: </td>'
    + '<td style="text-align: right"><b>{point.y}</b></td></tr>',
    footerFormat: '</table>',
    valueDecimals: 2
    //数据值保留小数位数
},

  10)、数据

//数据
series: [{
    name: "蓝藻",
    //turboThreshold:dataLength,
    data: (function () {
        var data = [], i;
        //如使用动态长度请确保此处的长度值不可越界,否则会导致X轴时间出现错误,开始时间从1970年
        for (i = 0; i < dataLength; i++) {
            data.push({
                x: dataTimes[i],
                y: parseFloat(bluealgae[i]),
            });
            //console.log(data[i]); 此为在浏览器控制台输出
        }

        return data;
    })(),
    visible: true,
    // pointStart: Date.UTC(2018, 3, 1),
    pointInterval: 3 * 1000,

}]

说明:dataLength在上面JS中已经定义并根据后台获取数据的长度赋值,所以数据长度为动态

4,HighStock还有很多的属性,请参考API文档,在线地址:https://api.hcharts.cn/highstock


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Highstock 是用纯 JavaScript 编写的股票图表控件,可以开发股票走势或大数据量的时间轴图表。它包含多个高级导航组件:预设置数据时间范围,日期选择器、滚动条、平移、缩放功能。 主要优势(功能特点) browsers兼容性 Highstock 可以在所有的移动设备及电脑上的浏览器中使用,包括 iPhone,iPad 和 IE6 以上的版本。在 IOS 和 Android 系统中 Highstock 支持多点触摸功能,因而可以给您提供极致的用户体验。在现代的浏览器中使用 SVG 技术进行图形绘制,在低版本 IE 则使用 VML 进行图形绘制。 free非商业使用免费 在个人网站、学校网站及非盈利机构中使用 Highstock 完全不需要经过我们的许可,直接可以任意使用! 商业网站或网站,请查看我们的 使用协议及价格。 open开源 Highstock 最重要的特点之一就是:无论免费版还是付费版,你都可以下载源码并可以对其进行编辑。 基于开源社区我们可以第一时间获取用户的需求、Bug 修复及吸收社区贡献。 no-backend纯 JavaScript Highstock 完全基于 HTML5 技术,不需要再客户端安装任何插件,如 Flash 或 Java。此外你也不用配置任何服务端环境,不需要 PHP、Tomcat、ASP.NET 等,只需要两个 JS 文件即可运行。 chart-types图表种类丰富 Highstock 支持直线图、折线图、面积图、面积曲线图、柱形图、散点图、蜡烛图(OHLC)、K线图、标签图、面积范围图、柱形范围图等多种图表, 其中很多图表可以集成在同一个图形中形成混合图 config-syntax简单的配置语法 在 Highstock 中设置配置选项不需要任何高级的编程技术,所有的配置都是 JSON 对象,只包含用冒号连接的键值对、用逗号进行分割、用括号进行对象包裹。JSON 具有易于人阅读和编写,同时也易于机器解析和生成的特点。 动态交互性 Highstock 支持丰富交互性,在图表创建完毕后,可以用丰富的 API 进行添加、移除或修改数据列、数据点、坐标轴等操作。 结合 jQuery 的 ajax 功能,可以做到实时刷新数据、用户手动修改数据等功能,结合事件处理,可以做到各种交互功能。 范围选择器 在处理大数据集时,我们可能需要查看不同时间范围的数据。Highstock 提供了范围选择器,方便的用它来选择预设范围的时间,例如 1个月、一季度、1年等,你可以通过时间输入框来选择自己想要查看数据范围。 滚动条和导航器 通过滚动条和导航器可以更加直观的操作和查看特定范围的数据。 事件标记 通过添加标志数据列可以为数据相关的事件做标记和注释。 支持多坐标轴 多个数据进行对比这是非常常见的需求,Highstock 可以让你为每个类型的数据添加坐标轴,每个轴可以定义放置的位置,所有的设置都可以独立生效,包括旋转、样式设计和定位,当然也支持多个数据共用一个坐标轴。 tooltip数据提示框 当鼠标划过图形时,Highstock 可以将数据点或数据列的信息展示在提示框中,并且提示框会跟随用户的鼠标;我们做了大量工作,可以智能的显示离鼠标最近的点或被遮盖点的信息。 datetime时间轴 Highstock 对时间轴的处理非常智能,可以精确的计算出月、周、日、小时、分钟等时间刻度的位置。 data grouping数据分组与合并 如果数据集包含 10 万个,浏览器对每个点进行计算并渲染的话效率会非常低。Highstock 具有数据分类功能,可以以飞速的进行数据分组;放大至小范围的数据是会重新分组,因为你可以查看高度清晰的数据又不失效率和速度。 exporting导出和打印 Highstock 支持导出功能,用户可以一键导出 PNG、JPEG、PDF 或 SVG 文件,通过插件可以实现导出为 Excel 文件功能;另外,用户还可以从网页上直接打印图表。 zooming缩放和平移 除了通过滚动条或导航器控制放大和平移功能,你还可以通过鼠标和手指来进行这两个操作。 ajax方便加载外部数据 Highstock 的数据是 JavaScript 数组或对象,这些数据可以是本地的配置对象,独立的数据文件(JSON、CVS)甚至是不同的网站上定义。另外,这些数据可以用任何形式处理好并加载到 Highstock 中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值