自身对highcharts理解

  最近公司要求做一些图标,动态的添加数据,展示在手机上,以前对Echarts,d3,highcharts只是听说,也没实际去花一定的时间玩玩,也是自以为是,不就看看api的事,结果呢?-----被他们给玩了。也算不错,在自己的努力和一些牛人的帮助下,慢慢的完善了自己的想要的图表。   其实最重要是原生js还有canvas和svg没有很深的基础,后决定,满足工作需求以后需要再花一定的时间用原生去写自己想要的效果,也许需要很长一段时间,但是在这个基础上,你会把js原生基础,比如面向对象,css3,html5等等扎实的过心埋在自己的身体里,废话不多说。用highcharts三个理由:①手机适配人家做的确实到位②大数据的支持确实给力③svg的优势展现的淋漓尽致。  一,官方有基本的常规用法,想学好,文档必须了解透彻,一般都是基于jquery写的例子,但是你也可以自己封装函数,用原生来调取,性能简单测试一下,没发现两者有什么大的区别。highcharts.js是一些简单图表的框架js,但是要做动态实时数据图,需要highstock.js,其实后者包涵前者,也能使前者的一些效果实现,也就是说引highcharts插件的时候,你有判断选择权。  <script src="js/jquery-1.7.2.js"></script>   <script src="js/highstock.js"></script>二,下面是我工作需求的一些参数,我做一下解释,由于里面参数太多,就不一一做说明。Highcharts.setOptions({         global: {//由于时间轴的动态数据,需要把时间格式确定一下,utc是国际时间格式,higharts默认是国际,在中国需要GMT,所以这个需要转变为false。              useUTC: false         }  });//获取当前时间三,图表配置$(‘#container‘).highcharts({//jquery选中盒子,并且给盒子加图表,这是基本写法。                    chart: {//所有的配置参数都写在chat这个json里面。                        events: {//处理一些事件,有click  mouseover,load等等,设置其不同的效果,用函数来表达你想要的事件。                            load: function () {                                // 设置图标每秒跟新                                var series = this.series[0];                                setInterval(function () {                                    var i=0;                                    var x = parseInt((new Date()).getTime()), // 当前时间                                            y = Math.abs((Math.random()-0.5))*20;//每个点两个值  x和y。                                    series.addPoint([x, y], true, false);//这是动态增加数据的关键,其实增加的区域在对象series里面。addpoint是其一个方法,如需重新渲染的话用update                                },3000);},                        },                        backgroundColor:‘#fff‘,//图表背景色                        pinchType:‘‘,// 让在移动端可以滑动                        zoomType : ‘‘//点击缩放 里面可以放 y x xy                    },                    colors: [‘#434348‘, ‘#90ed7d‘, ‘#f7a35c‘, ‘#8085e9‘,‘#f15c80‘, ‘#e4d354‘, ‘#8085e8‘, ‘#8d4653‘, ‘#91e8e1‘],//颜色数组,会根据不同的区域自动放不同的颜色,一般在蜡烛图和饼状图效果明显                    credits : { // 网站标识                        enabled : false//版权为fals 就不会再显示highcharts的logo。                    },                    navigator : { // 底部导航内容                        enabled : false//此处如果为true 就会出现导航,你可以设置下面的效果,让其功能出现,可以拖动缩放突变分辨率                    },                    scrollbar : {                        enabled : false//滑动按钮                    },                    rangeSelector : {                        enabled : false                    },                    xAxis: {//x轴设置                        dateTimeLabelFormats: {//给时间轴格式化,展示你想要的时间效果。                            second: ‘D1‘?‘%m-%d‘:‘%H:%M:%S‘,                            minute: ‘D1‘?‘%m-%d‘:‘%H:%M‘,                            hour: ‘D1‘?‘%m-%d‘:‘%H:%M‘,                            day: ‘D1‘?‘%m-%d‘:‘%H:%M‘,                            week: ‘D1‘?‘%m-%d‘:‘%H:%M‘,                            month: ‘D1‘?‘%m-%d‘:‘%H:%M‘                        },                        top:20,//x轴位置                        lineColor: ‘#90ed7d‘,//轴线的颜色                        lineWidth: 1,//轴线的宽度                        type: ‘datetime‘,//声明这是时间轴                        tickWidth: 1,//轴上刻度宽度                        tickColor: ‘#8085e9‘,//刻度颜色                        minRange: 360000,//最小差值,这是以时间戳来计算的                        tickInterval:36e5,//显示刻度的位置,也就是隔多少范围显示一个                        tickLength:10,//线的长度                        labels: {//显示内容的设置,颜色或字体的大小。                            style: {                                color: ‘#000‘,                                fontSize: ‘8px‘                            }                        },                        plotLines: [{//标示线设置。                            value: 0,                            width: 1,                            color: ‘#808080‘                        }]                    },                    yAxis: {//y轴设置 其实与x轴没啥大的区别,就看你想要什么样的效果。                        top:20,                        opposite:true,                        minorTickInterval:"auto",                        lineColor: ‘#8085e9‘,                        lineWidth: 0,                        tickWidth: 0,                        tickLength:0,                        tickColor: ‘#8085e9‘,                        title: {                            text: ‘‘                        },                        labels: {                            style: {                                color: ‘#000‘,                                fontSize: ‘8px‘                            }                        },

                        plotLines: [{//这块需要重点说一下,指示线需要设置一定的样式,可以设置显示的位置,线型,粗细,长短,字体,以及text标签。                            value: 0,                            color: ‘green‘,                            dashStyle: ‘LongDashDotDot‘,                            width: 2,                            label: {                                useHTML: true,                                text: ‘<strong>订单价:‘+0+"</strong>",                                align:"left"                            }                        }]                    },                    plotOptions: {//此处更重要,这是你图表的二次解释说明修改的地方,里面可以根据不同的列表样式来着重说明体现                        area: {//面积图的说明                            fillColor: {//面积颜色渐变。                                linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},                                stops: [                                    [0, ‘#808080‘],                                    [1, Highcharts.Color(‘#808080‘).setOpacity(0).get(‘rgba‘)]                                ]                            },                            lineWidth: 1,                            marker: {                                enabled: false                            },                            shadow: false,                            states: {                                hover: {                                    lineWidth: 1                                }                            },                            threshold: null                        },                        candlestick: {                            lineColor: ‘black‘                        },                        boxplot: {                            fillColor: ‘#505053‘                        }                    },                    series : [{//数据展示的位置,                        type: ‘M1‘ ?‘area‘:‘candlestick‘,                        name : ‘ha‘                    }                    ]                });五,上面我在chart里面动态增加的数据,如果你想用ajax或者websocket动态增加数据,还可以这么写$(function () {            containerPain();//把上面的函数封装  在这儿调用。但是 series是全局变量,需要var 一个。            setInterval(function () {//此处写ajax或者websocket.                var x = (new Date()).getTime(), // current time                        y = 44+(rnd(0.5,0.6));                series.addPoint(【x,y】);            }, 1000);        });六,简单的介绍说明一下,也许理解有误忘大神指教。
时间: 2024-10-04 20:22:46

自身对highcharts理解的相关文章

highcharts一点理解

最近使用到图表, Echarts,Highcharts,这2大图表还是非常优秀的图表库,在这里我就简单的讲下Highcharts图表的使用和理解. 博主第一次接触的图表就是Highcharts图表,很快被它吸引到了, 因为样例很多,还很漂亮,使用也方便.Highcharts是一个纯JS编写的一个图表库,兼容性强,效率高,而且还是免费的. https://www.hcharts.cn/download highcharts的下载地址,中文的. https://www.hcharts.cn/docs

使用jQuery的Highcharts插件制作图标如何绑定数据

基于mvc的Razor语法,实现Highcharts图表插件的数据绑定 1.引用几个库文件 <script src="~/Scripts/jquery-1.8.2.min.js"></script> <script src="~/Scripts/Highcharts/highcharts.js"></script> <script src="~/Scripts/Highcharts/exporting.

HighCharts -教程+例子

Highchart简介: Highcharts是一款免费开源的纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表, Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足你对Web图表的任何需求 ! Highcharts功能强大,图表种类多也很漂亮,高度自定义,兼容性比较好.具体参考:http://www.hcharts.cn/docs/index.php?doc=start-introductio

Highcharts绘制曲线图小结

Higcharts绘制曲线图很好用! 虽然说Highcharts官网有API,还有例子,但是我相信只看那些例子并不能很好的绘制出理想的曲线图. 刚接触这个领域,学有心得,理解不到位之处希望大家多多指教! 项目绘制的曲线是:平均水位随时间的变化而改变的水情走势图. 主要js代码: 1 function DrawShow() { 2 $.getJSON( 3 '/Draw/StRvavR', 4 {BeginTime: beginTime.value, EndTime: endTime.value

Python——深入理解urllib、urllib2及requests(requests不建议使用?)

深入理解urllib.urllib2及requests            python Python 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1] .Python语法简洁而清晰,具有丰富和强大的类库. urllib and urllib2 区别 urllib和urllib2模块都做与请求URL相关的操作,但

关于SVM数学细节逻辑的个人理解(三) :SMO算法理解

第三部分:SMO算法的个人理解 接下来的这部分我觉得是最难理解的?而且计算也是最难得,就是SMO算法. SMO算法就是帮助我们求解: s.t.   这个优化问题的. 虽然这个优化问题只剩下了α这一个变量,但是别忘了α是一个向量,有m个αi等着我们去优化,所以还是很麻烦,所以大神提出了SMO算法来解决这个优化问题. 关于SMO最好的资料还是论文<Sequential Minimal Optimization A Fast Algorithm for Training Support Vector

2.2 logistic回归损失函数(非常重要,深入理解)

上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数 使用logistic回归训练的成本函数 为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集 很自然的,希望通过训练集找到参数w和b,来得到自己得输出 对训练集当中的值进行预测,将他写成y^(I)我们希望他会接近于训练集当中的y^(i)的数值 现在来看一下损失函数或者叫做误差函数 他们可以用来衡量算法的运行情况 可以定义损失函数为y^和y的差,或者他们差的平方的一半,结果表明你可能这样做,但是实际当中

理解信息管理系统

1.信息与数据的区别是什么? 数据是记录客观事物,可鉴别的符号,而信息是具有关联性和目的性的结构化,组织化的数据.数据经过处理仍是数据,而信息经过加工可以形成知识.处理数据是为了便于更好的解释,只有经过解释,数据才有意义,才可以成为信息.可以说信息是经过加工以后,对客观世界产生影响的数据. 2.信息与知识的区别是什么? 信息是具有关联性和目的性的结构化,组织化的数据,知识是对信息的进一步加工和应用,是对事物内在规律和原理的认识.信息经过加工可以形成知识. 3.举一个同一主题不同级别的数据.信息.

深度理解div+css布局嵌套盒子

1. 网页布局概述 网页布局的概念是把即将出现在网页中的所有元素进行定位,而CSS网页排版技术有别于传统的网页排版方法,它将页面首先在整体上使用<div>标记进行分块,然后对每个快进行CSS定位以及设置显示效果,最后在每个块中添加相应的内容.利用CSS排版方法更容易地控制页面每个元素的效果,更新也更容易,甚至页面的拓扑结构也可以通过修改相应的CSS属性来重新定位.  2. 盒子模型 盒子模型是CSS控制页面元素的一个重要概念,只有掌握了盒子模型,才能让CSS很好地控制页面上每一个元素,达到我们