图表chart

highchart

2018-08-30  本文已影响56人  寥子

组成

标题(Title)
坐标轴(Axis)
数据列(Series)
数据提示框(Tooltip)
图例(Legend)
标示线(PlotLines)
标示区(PlotBands)


图表配置chart

var charts = Highcharts.chart('container'.{
//code
});

或者

var charts = Highcharts.chart({
    // Highcharts 配置
    chart : {
        renderTo : 'container'  // 或 document.getElementById('container')
    }
}); 

或者jquery中的绑定
$("#container").highcharts({});

chart: {
    style: {
        fontFamily: "",
        fontSize: '12px',
        fontWeight: 'bold',
        color: '#006cee'
    }
}

还可以通过chart.className来绑定CSS类

绘图区
plotBackgroundColor : 绘图区背景颜色
plotBackgroundImage : 绘图区背景图片
plotBorderColor : 绘图区边框颜色
plotBorderWidth : 绘图区边框宽度
plotShadow : 绘图投影


标题title

var chart = Highcharts.chart(el, options);    // Highcharts构造函数
var title  = chart.title.textStr;             // 通过chart对象获取标题内容
var title = {
    text:"我是新标题",
    style:{
        color:"#ff0000"
    }
};

chart.setTitle(title);

还可以通过标题对象的update方法来更新标题


坐标轴xAxis,yAxis

默认情况下,y轴打竖,x轴打横,可以通过char.inverted=ture来对调xy轴

xAxis:{
   title:{
       text:'x轴标题'
   }
}
yAxis:{
   title:{
       text:'y轴标题'
   }
}
yAxis: {        
  labels: {
    formatter:function(){
      if(this.value <=100) { 
        return "第一等级("+this.value+")";
      }else if(this.value >100 && this.value <=200) { 
        return "第二等级("+this.value+")"; 
      }else { 
        return "第三等级("+this.value+")";
      }
    }
  }
}

step:lebals的间隔


数据列series

data : [{
    name : "point 1",
    color : "#00ff00",
    y : 0
}, {
    name : "Point 2",
    color : "#ff00ff",
    y : 5
}] 
plotOptions: {
    line: {
        dataLabels: {
            enabled: true
        }
    }
}

数据标签默认显示当前数据点的点值,可以通过 formatter 函数或 format 来对其格式化。

plotOptions: {
    line: {
        dataLabels: {
            enabled: true,
            formatter: function() {
                return this.x + "   " + this.y;
            },
            // format: "{x}      {y}"
        }
    }
}
series: [{
    data: [1, 3, 2, 4, 5, 4, 6, 2, 3, 5, 6],
    dashStyle: 'longdash'
}]
$(function() {
    $('#container').highcharts({
        series: [{
            data: [-10, -5, 0, 5, 10, 15, 10, 10, 5, 0, -5],
            zones: [{
                value: 0,
                color: '#f7a35c',
                dashStyle: 'dot'
            }, {
                value: 10,
                color: '#7cb5ec'
            }, {
                color: '#90ed7d'
            }]
        }]
    });
});

zones是一个数组,常见的属性有:
value 表示对小于这个值的区域有效(或区域上界)
color 对当前范围设置颜色
dashStyle 对当前范围设置线条样式
fillColor 对当前范围设置填充颜色(针对面积图)
zones默认是针对y轴,可以通过zoneAxis=x来指定针对x轴

series: [{
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
      zoneAxis: 'x',
      zones: [{
          value: 8
      }, {
          dashStyle: 'dot'
      }]
  }]

颜色color

通过设置colorByPoint为true使得每个数据列/点分配一个颜色,该属性默认为false,即根据数据类来分配颜色。

plotOptions: {
            column: {
                colorByPoint:true
            }
        }

数据提示框tooltip

当鼠标悬停在某点上时,以框的形式提示该点的数据。通过设置tooltip.enabled=false可以取消提示框

tooltip: {
    backgroundColor: '#FCFFC5',   // 背景颜色
    borderColor: 'black',         // 边框颜色
    borderRadius: 10,             // 边框圆角
    borderWidth: 3,               // 边框宽度
    shadow: true,                 // 是否显示阴影
    animation: true               // 是否启用动画效果
    style: {                      // 文字内容相关样式
        color: "#ff0000",
        fontSize: "12px",
        fontWeight: "blod",
        fontFamily: "Courir new"
    }
}

其他详见官方文档->基础教程->数据提示框


图例legend

通过legend.enabled=true|false来打开或关闭图例
其他详见官方文档->基础教程->图例


版权信息
通过credits.enabled=false来隐藏版权信息


标示线plotLines

标示线是用来标记坐标轴上特殊值的一条直线,在绘图区内绘制一条自定义的线。标示线总是垂直于它属于的轴
在x轴上值为3的地方画一条红色的宽度为2px的线:

xAxis: { 
    // ... 省略代码
    plotLines:[{
        color:'red',            //线的颜色,定义为红色
        dashStyle:'longdashdot',//标示线的样式,默认是solid(实线),这里定义为长虚线
        value:3,                //定义在哪个值上显示标示线,这里是在x轴上刻度为3的值处垂直化一条线
        width:2                 //标示线的宽度,2px
    }]
}

color 线的颜色
dashStyle 线的样式
events 线的事件
id 定义标示线
value 在坐标轴上显示的位置
label 标示线的文字标签
width 线的宽度
zindex 层叠


图表缩放


图表类型

chart: {
    type: 'spline'
}

也可以在数据列里指定每个数据列的类型

series: [{
    type: 'line'
    data: []
},{
    type: 'column'
    data: []
}]
series: [{
    type: 'line',
    lineWidth: 0,
    data: [
        [12, 2],
        [24, 12]
    ]
}]

在线图中,可以通过marker来指定某个数据列的点的形状

chart: {
    polar: true
}

极地图的 X 轴展现为极地图的圆周(即沿着图形的圆周的是 X 轴),Y 轴则表现为圆心到圆的顶端(即圆的半径线)


极地图
上一篇下一篇

猜你喜欢

热点阅读