• Highcharts 配置语法;Highcharts 配置选项详细说明


    本章节我们将为大家介绍使用 Highcharts 生成图表的一些配置。

    第一步:创建 HTML 页面

    创建一个 HTML 页面,引入 jQuery 和 Highcharts 库:

    文件名:HighchartsTest.htm

    <html>
    <head>
    <title>Highcharts 教程 | 菜鸟教程</title>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
       <script src="/try/demo_source/highcharts.js"></script>
    </head>
    <body>
    <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
    <script language="JavaScript">
    $(document).ready(function() {
         
    });
    </script>
    </body>
    </html>

    实例中 id 为 container 的 div 用于包含 Highcharts 绘制的图表。

    第二步: 创建配置文件

    Highcharts 库使用 json 格式来配置。

    $('#container').highcharts(json);

    这里 json 表示使用 json 数据格式和 json 格式的配置来绘制图表。步骤如下:

    标题

    为图表配置标题:

    var title = {
      text: '月平均气温'   
    };

    副标题

    为图表配置副标题:

    var subtitle = {
      text: 'Source: runoob.com'
    };

    X 轴

    配置要在 X 轴显示的项。

    var xAxis = {
       categories: ['一月', '二月', '三月', '四月', '五月', '六月'
          ,'七月', '八月', '九月', '十月', '十一月', '十二月']
    };

    Y 轴

    配置要在 Y 轴显示的项。

    var yAxis = {
       title: {
          text: 'Temperature (xB0C)'
       },
       plotLines: [{
          value: 0,
          width: 1,
          color: '#808080'
       }]
    };

    提示信息

    配置提示信息:

    var tooltip = {
       valueSuffix: 'xB0C'
    }

    展示方式

    配置图表向右对齐:

    var legend = {
       layout: 'vertical',
       align: 'right',
       verticalAlign: 'middle',
       borderWidth: 0
    };

    数据

    配置图表要展示的数据。每个系列是个数组,每一项在图片中都会生成一条曲线。

    var series =  [
       {
          name: 'Tokyo',
          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: 'New York',
          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: 'Berlin',
          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: 'London',
          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]
       }
    ];

    第三步: 创建 json 数据

    组合是由配置信息:

    var json = {};
    
    json.title = title;
    json.subtitle = subtitle;
    json.xAxis = xAxis;
    json.yAxis = yAxis;
    json.tooltip = tooltip;
    json.legend = legend;
    json.series = series;
    Step 4: Draw the chart
    $('#container').highcharts(json);

    实例

    以下为完整的实例(HighchartsTest.htm):

    <html>
    <head>
    <meta charset="UTF-8" />
    <title>Highcharts </title>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="http://code.highcharts.com/highcharts.js"></script>
    </head>
    <body>
    <div id="container" style=" 550px; height: 400px; margin: 0 auto"></div>
    <script language="JavaScript">
    $(document).ready(function() {
       var title = {
           text: '月平均气温'   
       };
       var subtitle = {
            text: 'Source: runoob.com'
       };
       var xAxis = {
           categories: ['一月', '二月', '三月', '四月', '五月', '六月'
                  ,'七月', '八月', '九月', '十月', '十一月', '十二月']
       };
       var yAxis = {
          title: {
             text: 'Temperature (xB0C)'
          },
          plotLines: [{
             value: 0,
              1,
             color: '#808080'
          }]
       };   
    
       var tooltip = {
          valueSuffix: 'xB0C'
       }
    
       var legend = {
          layout: 'vertical',
          align: 'right',
          verticalAlign: 'middle',
          borderWidth: 0
       };
    
       var series =  [
          {
             name: 'Tokyo',
             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: 'New York',
             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: 'Berlin',
             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: 'London',
             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]
          }
       ];
    
       var json = {};
    
       json.title = title;
       json.subtitle = subtitle;
       json.xAxis = xAxis;
       json.yAxis = yAxis;
       json.tooltip = tooltip;
       json.legend = legend;
       json.series = series;
    
       $('#container').highcharts(json);
    });
    </script>
    </body>
    </html>
    实列

    Highcharts 配置选项详细说明

    Highcharts 提供大量的配置选项参数,您可以轻松定制符合用户要求的图表,本章节为大家详细介绍Highcharts 配置选项使用说明:


    参数配置(属性+事件)

    1. chart.events.addSeries:添加数列到图表中。

    2. chart.events.click:整个图表的绘图区上所发生的点击事件。

    3. chart.events.load:图表加载事件。

    4. chart.events.redraw:图表重画事件,当点击图注显示和隐藏绘图时可以触发。

    5. chart.events.selection:当图表曲线可选择放大时,当选择图表操作时,可以触发该事件。

    6. chart.height:所绘制图表的高度值。

    7. chart.inverted:图表中的x,y轴对换。

    8. chart.polar:是否为极性图表。

    9. chart.reflow:当窗口大小改变时,图表宽度自适应窗口大小改变。

    10. chart.renderTo:图表加载的位置,是页面上的一个DOM对象。

    11. chart.showAxes:在空白图表中,是否显示坐标轴。

    12. chart.type:图表的类型,默认为line,还有bar/column/pie……

    13. chart.width:图表绘图区的宽度,默认为自适应。

    14. chart.zoomType:图表中数据报表的放大类型,可以以X轴放大,或是以Y轴放大,还可以以XY轴同时放大。

    15. colors:图表中多数列时,各数列之间的颜色。是一个数组,一般不动。

    16. credits.enabled:是否允许显示版权信息。

    17. credits.href:版权所有的链接。

    18. credits.text:版权信息显示文字。

    19. exporting.buttons.exportButton.enabled:是否允许显示导出按钮。

    20. exporting.buttons.exportButton.menuItems:导出按钮的菜单选项。

    21. exporting.buttons.exportButton.onclick:导出按钮被点击的事件,不是内部的菜单。

    22. exporting.buttons.printButton.enabled:是否允许打印按钮。

    23. exporting.buttons.printButton.onclick:打印按钮的点击事件。

    24. exporting.enabled:打印和导出按钮是否被允许。

    25. exporting.filename:被导出文件的文件名。

    26. exporting.type:默认导出图片的文件格式。

    27. exporting.url:SVG图表转换并导出的接口处理地址。

    28. exporing.width:默认导出图片的宽度。

    29. labels:标签,可以加载到图表的任何位置,里面有items,style。

    30. lang:语言参数配置,与导出按钮菜单有关的配置,时间名称的配置等。

    31. legend.enabled:是否允许图注。

    32. navigation.buttonOptions.enabled:图表中所有导航中的按钮是否可被点击。

    33. plotOptions.area.allowPointSelect:是否允许数据点的点击。

    34. plotOptions.area.color:绘图的颜色。

    35. plotOptions.area.dataLabels.enabled:是否允许数据标签。

    36. plotOptions.area.enableMouseTracking:是否允许数据图表中,数据点的鼠标跟踪气泡显示。

    37. plotOptions.area.events.checkboxClick:数据图表中图注中复选框的点击事件。

    38. plotOptions.area.events.click:数据图表中,数据点的点击事件。

    39. plotOptions.area.events.hide:数据图表中,某一数据序列隐藏时的事件。

    40. plotOptions.area.events.show:数据图表中,某一数据序列显示时的事件。

    41. plotOptions.area.events.legendItemClick:数据图表中,图注中的项目被点击时的事件,直接赋值false,则不可点击。

    42. plotOptions.area.events.mouseOut:数据点的鼠标移出事件。

    43. plotOptions.area.events.mouseOver:数据点的鼠标经过事件。

    44. plotOptions.area.marker.enabled:图表中绘图中是否显示点的标记符。

    45. plotOptions.area.marker.states.hover.enabled:是否允许标记符的鼠标经过状态。

    46. plotOptions.area.marker.states.select.enabled:是否允许标记符的选择状态。

    47. plotOptions.area.point.events.click:图表中每一个单独的点点击事件。

    48. plotOptions.area.point.events.mouseOut

    49. plotOptions.area.point.events..mouseOver

    50. plotOptions.area.point.events.remove:删除图表中的点时的事件。

    51. plotOptions.area.point.events.select:图表中点选择事件。

    52. plotOptions.area.point.events.unselect:图表中点取消选择时的事件。

    53. plotOptions.area.point.events.update:图表中数据发生更新时的事件。

    54. plotOptions.area.visible:加载时,数据序列默认是显示还是隐藏。

    55. plotOptions.area.zIndex:在多序列的情况下,调整每一个序列的层叠顺序。

    56. 以上的point.events同样还适用于其他面积类图表(arearange、areaspline、areasplinerange),其他的柱状图(bar、column)及所有图表。

    57. plotOptions.area.showInLegend:是否在图注中显示。

    58. plotOptions.area.stacking:是以值堆叠,还是以百分比堆叠。

    59. plotOptions.area.states.hover.enabled:鼠标放上的状态是否允许。

    60. plotOptions.area.stickyTracking:鼠标粘性跟踪数据点。

    61. plotOptions.arearange,plotOptions.areaspline,plotOptions.areasplinerange类同于plotOptions.area

    62. plotOptions.bar.groupPadding:对于柱状图分组,每个分组之间的间隔。

    63. plotOptions.bar.grouping:是否对数据进行分组。

    64. plotOptions.bar.minPointLength::定义当point值为零时,点的最小长度为多少

    65. plotOptions.bar.showInLegend:是否在图注中显示。

    66. plotOptions.bar.stacking:是以值堆叠,还是以百分比堆叠(normal/percent)。

    67. plotOptions.column,plotOptions.columnrange类同于plotOptions.bar

    68. plotOptions.line的相关配置类似于plotOptions.area配置。

    69. plotOptions.pie.ignoreHiddenPoint:在饼状图中,某一个序列经图注点击隐藏后,整个饼状图是重新以100%分配,还是只在原图基础上隐藏,呈现一个缺口。

    70. plotOptions.pie.innerSize:绘制饼状图时,饼状图的圆心预留多大的空白。

    71. plotOptions.pie.slicedOffset:与allowPointSelect结合使用,当点被点击时,对应的扇区剥离,这个参数即配置离开的距离。

    72. plotOptions.pie的其他常用配置参数类同于plotOptions.area,plotOptions.scatter,plotOptions.series,plotOptions.spline的相关配置类似于plotOptions.area配置。

    73. series:是一个数组。

    74. series.data.color:某一个数据的颜色。

    75. series.data.dataLabels:序列中某一个数据的数据标签。

    76. series.data.events类同于plotOptions.area.point.events的相关配置。

    77. series.data.marker类同于plotOptions.area.marker的相关配置。

    78. series.data.name:配置数据点的名称。

    79. series.data.sliced:配置在饼图中,扇区的分离距离大小。

    80. series.data.x:点的x值。

    81. series.data.y:点的y值。

    82. series.name:数据序列的名称。

    83. series.stack:堆叠的分组索引。

    84. series.type:数据序列的展示类型。

    85. series.xAxis,series.yAxis:当使用多坐标轴时,指定某个数列对应哪个坐标轴。

    86. subtitle:配置图表的子标题。

    87. title:配置图表的标题。

    88. tooltip:配置图表中数据的气泡提示。

    89. tooltip.valueDecimals:允许的小数点位数。

    90. tooltip.percentageDecimals:允许百分比的小数点后位数。

    91. xAxis,yAxis配置设置坐标轴

    92. allowDecimals:坐标轴上是否允许小数。

    93. categories:是一个数组,坐标轴的分类。

    94. plotLines:绘制主线。

    95. tickColor:刻度颜色。

    96. tickInterval:刻度的步进值。

    97. labels.rotation:刻度标签旋转度数

    Chart:图表区选项

    Chart图表区选项用于设置图表区相关属性。

    参数描述默认值
    backgroundColor 设置图表区背景色 #FFFFFF
    borderWidth 设置图表边框宽度 0
    borderRadius 设置图表边框圆角角度 5
    renderTo 图表放置的容器,一般在html中放置一个DIV,获取DIV的id属性值 null
    defaultSeriesType 默认图表类型line, spline, area, areaspline, column, bar, pie , scatter 0
    width 图表宽度,默认根据图表容器自适应宽度 null
    height 图表高度,默认根据图表容器自适应高度 null
    margin 设置图表与其他元素之间的间距,数组,如[0,0,0,0] [null]
    plotBackgroundColor 主图表区背景色,即X轴与Y轴围成的区域的背景色 null
    plotBorderColor 主图表区边框的颜色,即X轴与Y轴围成的区域的边框颜色 null
    plotBorderWidth 主图表区边框的宽度 0
    shadow 是否设置阴影,需要设置背景色backgroundColor。 false
    reflow 是否自使用图表区域高度和宽度,如果没有设置width和height时,会自适应大小。 true
    zoomType 拖动鼠标进行缩放,沿x轴或y轴进行缩放,可以设置为:'x','y','xy' ''
    events 事件回调,支持addSeries方法,click方法,load方法,selection方法等的回调函数。  

    Color:颜色选项

    Color颜色选项用于设置图表的颜色方案。

    参数 描述 默认值
    color 用于展示图表,折线/柱状/饼状等图的颜色,数组形式。 array

    Highcharts已经默认提供了多种颜色方案,当要显示的图形多于颜色种类时,多出的图形会自动从第一种颜色方案开始选取。自定义颜色方案的方法:

    Highcharts.setOptions({
        colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655',
    '#FFF263', '#6AF9C4']
    });

    Title:标题选项

    Title标题选项用于设置图表的标题相关属性。

    参数描述默认值
    text 标题文本内容。 Chart title
    align 水平对齐方式。 center
    verticalAlign 垂直对齐方式。 top
    margin 标题与副标题之间或者主图表区间的间距。 15
    floating 是否浮动,如果为true,则标题可以偏离主图表区,可配合x,y属性使用。 false
    style 设置CSS样式。 {color: '#3E576F',
    fontSize: '16px'}

    Subtitle:副标题选项

    副标题提供的属性选项与标题title大致相同,可参照上述标题选项,值得一提的是副标题的text选项默认为'',即空的,所以默认情况下副标题不显示。


    xAxis:X轴选项

    X轴选项用于设置图表X轴相关属性。

    参数描述默认值
    categories 设置X轴分类名称,数组,例如:categories: ['Apples', 'Bananas', 'Oranges'] []
    title X轴名称,支持text、enabled、align、rotation、style等属性  
    labels 设置X轴各分类名称的样式style,格式formatter,角度rotation等。 array
    max X轴最大值(categories为空时),如果为null,则最大值会根据X轴数据自动匹配一个最大值。 null
    min X轴最小值(categories为空时),如果为null,则最小值会根据X轴数据自动匹配一个最小值。 array
    gridLineColor 网格(竖线)颜色 #C0C0C0
    gridLineWidth 网格(竖线)宽度 1
    lineColor 基线颜色 #C0D0E0
    lineWidth 基线宽度 0

    yAxis:Y轴选项

    Y轴选项与上述xAxis选项基本一致,请参照上表中的参数设置,不再单独列出。


    Series:数据列选项

    数据列选项用于设置图表中要展示的数据相关的属性。

    参数描述默认值
    data 显示在图表中的数据列,可以为数组或者JSON格式的数据。如:data:[0, 5, 3, 5],或
    data: [{name: 'Point 1',y: 0}, {name: 'Point 2',y: 5}]
    ''
    name 显示数据列的名称。 ''
    type 数据列类型,支持 area, areaspline, bar, column, line, pie, scatter or spline line

    plotOptions:数据点选项

    plotOptions用于设置图表中的数据点相关属性。plotOptions根据各种图表类型,其属性设置略微有些差异,现将常用选项列出来。

    参数 描述 默认值
    enabled 是否在数据点上直接显示数据 false
    allowPointSelect 是否允许使用鼠标选中数据点 false
    formatter 回调函数,格式化数据显示内容 formatter: function() {return this.y;}

    Tooltip:数据点提示框

    Tooltip用于设置当鼠标滑向数据点时显示的提示框信息。

    参数 描述 默认值
    enabled 是否显示提示框 true
    backgroundColor 设置提示框的背景色 rgba(255, 255, 255, .85)
    borderColor 提示框边框颜色,默认自动匹配数据列的颜色 auto
    borderRadius 提示框圆角度 5
    shadow 是否显示提示框阴影 true
    style 设置提示框内容样式,如字体颜色等 color:'#333'
    formatter 回调函数,用于格式化输出提示框的显示内容。返回的内容支持html标签如:<b>, <strong>, <i>, <em>, <br/>, <span> 2

    Legend:图例选项

    legend用于设置图例相关属性。

    参数描述默认值
    layout 显示形式,支持水平horizontal和垂直vertical horizontal
    align 对齐方式。 center
    backgroundColor 图例背景色。 null
    borderColor 图例边框颜色。 #909090
    borderRadius 图例边框角度 5
    enabled 是否显示图例 true
    floating 是否可以浮动,配合x,y属性。 false
    shadow 是否显示阴影 false
    style 设置图例内容样式 ''

    更多详细信息请参照highcharts官网英文文档:http://api.highcharts.com/highcharts

  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/xuaijun/p/7908234.html
Copyright © 2020-2023  润新知