Highcharts,在情节线上添加图标?

时间:2017-12-15 10:54:52

标签: javascript highcharts icons

我有一个高清图表,其中显示一些数据和一行表示一些限制。如果数据超出限制,我会设置警报。

我尝试使用情节线来显示此限制。这很好用,但我想添加一个箭头/三角形图标,以便用户可以看到如果值高于或低于阈值,警报是否会触发。

查看类似的图表:http://jsfiddle.net/os5gjch5/2/,相关代码:

   plotLines: [{
         value: 150,
                    color: 'red',
                    width: 1,
                    zIndex:100
        }],

电流:

enter image description here

所需:

enter image description here

我找不到一个简单的选项,文档......任何提示?

1 个答案:

答案 0 :(得分:1)

您可以在情节线

中添加label
label: {
  text: " Warning",
  style: {
    "color": "red"
  }
}

Here是您可以选择的更多Unicode箭头。 Docs用于其他标签属性。
如果您希望箭头正好位于绘图线上,您可以删除“警告”一词并使用标签的y属性。

工作示例:

Highcharts.chart('container', {
    chart: {
        type: 'column'
    },
    title: {
        text: 'Monthly Average Rainfall'
    },
    subtitle: {
        text: 'Source: WorldClimate.com'
    },
    xAxis: {
        categories: [
            'Jan',
            'Feb',
            'Mar',
            'Apr',
            'May',
            'Jun',
            'Jul',
            'Aug',
            'Sep',
            'Oct',
            'Nov',
            'Dec'
        ],
        crosshair: true
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Rainfall (mm)'
        },
        plotLines: [{
          	value: 150,
	          color: 'red',
	          width: 1,
	          zIndex:100,
              label: {
                  text: " Warning",
                  style: { 
                      "color": "red"
                  }
              }
        }],
    },
    tooltip: {
        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
            '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
        footerFormat: '</table>',
        shared: true,
        useHTML: true
    },
    plotOptions: {
        column: {
            pointPadding: 0.2,
            borderWidth: 0
        }
    },
    series: [{
        name: 'Tokyo',
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

    }, {
        name: 'New York',
        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

    }, {
        name: 'London',
        data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

    }, {
        name: 'Berlin',
        data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

    }]
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>