highcharts 常用配置

2017/08/21 17:10
阅读数 556

highcharts官方api文档写得不是很详细,如果使用的时候看哪个api文档,感觉理解起来还是蛮难的 ,尤其对于新手来说,等于没啥用, 不过官方的demo还是很有用的, 如果觉得难,就把demo多看一些,一边看一边修改一些属性,这样能更方便理解;

  下面根据例子一行一行注释,这样理解起来应该更容易;

new Highcharts.Chart({
                chart: {
                    renderTo:'container',  //这是页面id,是将这个图标插入到这个id容器中
                    zoomType: 'xy'     //图形放大(操作方法是鼠标点击图中拖动鼠标,选中的区域会被放大),写x就放大x轴数据,y就放大y轴数据,xy就是全部放大;
                },
                exporting:{
                    enabled:false     //导出按钮是否显示
                },
                title: {
                    text: '标题',     //标题名称
            style: {       //标题样式,这个里面可以设置标题颜色,字体大小,位置等
               fontSize: '12px'
            }
                },
                legend:{
                    itemStyle:{
                        fontWeight:'normal'//这个就是不要加粗
                    },
                    margin:5
                },
                xAxis: {                //x轴数据,可以自定义,也可以为时间
                   //categories: [1,2,3,4,5,6],    //这里这行是写死的,也可以自己定义一个数组;
            type: 'datetime',         //定义x轴为时间,需要注意的是时间一定要是升序,如果不是会报#15的错误
            //reversed: true, 倒序显示
            labels: { 
              formatter: function() { 
                return Highcharts.dateFormat('%Y-%m', this.value);   //将时间戳转换成年-月
              }
            }                },

                yAxis: [{               //定义y轴
                    labels:{
                        valueDecimals: 2,      //当你的数据很大,比如10000000时,这里会自动显示成10M,10000显示为10K
                        style: {
                            color: '#6B6B6B'
                        }
                    },
                    //tickInterval:2,    
                    tickPixelInterval:40,      //y轴的行高
                    min:0,               //设置最小值
            max:10               //设置最大值

                    title: {               //y轴防线标题及样式
                        text: '',
                        style:{
                            color: '#6B6B6B',
                            width:'10em'
                        },
                        //align:'high',
                        offset:50,
                           //rotation:0
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#6B6B6B'
                    }]
                },{ //
                    //tickInterval:m_max,      //如果有两条线,而且两条线的单位不一样,这样就需要设置两个y轴,来显示不同的数据
                    tickPixelInterval:30,
                    //min:2,
                    title: {
                        text: ''
                    },
                    labels: {
                        //format: '{value} 元',
                        valueDecimals: 2,
                        style: {
                            color: '#6B6B6B'
                        }
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#6B6B6B'
                    }],
                    opposite: true
                }],
                tooltip: {      //设置弹出提示框,这里是重点,也是难点,因为弹出提示框里面的内容可能有自定义的;
                    snap: 0,       //设置显示数据标签的敏感区域值 单位为px,为0表示距离数据点为0px的时候显示标签,默认情况下为10px,移动设备最好设置为25px
                    hideDelay:0,   //设置隐藏标签延迟时间值,单位为毫秒,默认为500毫秒;当设置为0时,只要鼠标离开数据点就隐藏标签
                    shared: true,  //如果一个图表中有多个图形,提示数据在一个框中弹出
            useHTML: true,  //使用html代码
            formatter: function() { //格式化鼠标滑向图表数据点时显示的提示框  
                        return '<span style="color:'+this.series.color+'">'+this.x+'</span></br>'+   //这里返回的内容就是提示框弹出的内容,
                                  this.series.name+': <b>'+this.y+'</b>'    
                    }  
                },
    /*        legend: {    //图例的显示位置
                    layout: 'vertical',
                    align: 'left',
                    x: 80,
                    verticalAlign: 'top',
                    y: 20,
                    floating: true,
                    backgroundColor: '#FFFFFF'
                },  */
                credits: {
                    enabled: false      //去除highcharts的链接
                },
                series: [{
                    name: 'name1',
                    color: '#95CEFF',
                    type: 'column',
                    data: yAxis_c,
                },{
                    name: 'name2',
                    color: '#FCF12E',
                    //type: 'spline',
                    data: yAxis_s,
                    marker: {
                        enabled: false, //数据点是否显示*/
                        radius: 2,  //数据点大小
                    },
        
                }]
            });

如果出现错误, 只需根据错误号去查找就行;

  还有需要注意的是绘图的数据不能是字符串,只能是数字;如果是字串图就不显示了;

  还有一种显示弹出框信息的方式

pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y:.2f}%</b>',

这里的pointFormat里面的内容就是弹出框显示的内容,{series.color}表示series中的color,{point.y:.2f}表示y轴的值,并保留两位小数;

限制某些图例名称是否显示

showInLegend: true // 默认值

showInLegend: false // 设置为 false 即为不显示在图例中

设置数据点大小

marker: {
 enabled: true, //数据点是否显示
 radius: 4, //数据点大小
 states: {
   hover: {
     radius: 5, //数据点大小
   }
 }
},

设置Y轴刻度间距,值越大,刻度间距越大;

tickPixelInterval:100;

控制标题文字样式

title: { 
  text: '变动数量',
  rotation : 360, //文字旋转角度
  style: {
    writingMode:'tb-rl' //文字竖排样式
 }

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部