2013-10-26 66 views

回答

5

当然这是可能的。

有两种方法可以实现此目的。

  1. 使用sctterplot。

在这种方法中,您将构建一个addl散点图系列。在scatterchart系列的价值会帮助你将其定位也喜欢在这里http://jsfiddle.net/p2MF6/

{ 
       name: 'indicator', 
       data: [5], 
       type: 'scatter', 
       marker:{ 
        //here you can have your url 
        symbol: 'circle', 
       } 
      } 
  • 渲染图像。
  • 使用chart.rendere.image(src,x,y,length,height)您可以在图表上呈现任何图像。

    找到坐标不是什么大不了的事。

    希望这是你在找什么

    0

    我会使用散射序列法,如上回答,如果你真的需要一个符号存在。

    您也可以得出一个情节主线:

    http://api.highcharts.com/highcharts#yAxis.plotLines

    这将不包括箭头,当然,但你可以得出这样的线和标签,以及IMO箭头真的没必要在那时候。你FWIW

    1

    例子:http://jsbin.com/oyudan/276/edit

    添加三角和功能改变散射位置(如果要添加行标志,只是改变返回的路径):

    var chart; 
    $.extend(Highcharts.Renderer.prototype.symbols, { 
        'triangle-left': function (a, b, c, d) { 
         return ["M", a, b + d, "L", a, b, a + c/2, b + d/2, "Z"]; 
        } 
    }); 
    Highcharts.updateMarketMarkers = function (chart,action) { 
        /* get category width */ 
        var barWidth = chart.series[0].data[0].pointWidth/2; 
        for(var i = 0; i < chart.series[2].data.length; i++){ 
        var p = chart.series[2].data[i]; 
        if(p.graphic){ 
         p.graphic[action]({ 
         x: p.plotX - barWidth - p.graphic.r 
         }); 
        } 
        } 
    }; 
    

    现在添加功能图表,何时应该引用:

    chart: { 
         renderTo: 'container', 
         type: 'column', 
         showAxes: false, 
         events: { 
          load: function() { 
           Highcharts.updateMarketMarkers(this, 'attr'); 
          }, 
          redraw: function() { 
           Highcharts.updateMarketMarkers(this,'attr'); 
          } 
         } 
        }, 
        plotOptions: { 
         series: { 
         events: { 
          hide: function(e) { 
          Highcharts.updateMarketMarkers(this.chart,'animate'); 
          }, 
          show: function() { 
          Highcharts.updateMarketMarkers(this.chart,'animate'); 
          } 
         } 
         }, 
        }