2013-02-17 71 views
1

我的问题是一个类似于在 Highcharts: Show special marker on column charthighcharts柱形图上的特殊标记

我有一个柱形图,这是共同基金的回报在特定period.I直方图要突出在共同基金感兴趣的事物会以特别的标记落下。例如,我的x轴上有-50到-25,-25到0,0到10,10到20,20到30和30到50,以及相应的Y值。我想用'20到30'上的一个标记来突出显示感兴趣的共同基金落入该桶中。我知道我们可以使用样条图像http://www.highcharts.com/demo/spline-symbols来做到这一点。

有没有办法对列图做同样的事情?

回答

2

一般而言,您不能将自定义标记添加到柱状图中,但可以添加类似的行为。我创建与分散系列定制标记,简单的例子,如果你想添加更多的串联成传说有用:http://jsbin.com/oyudan/37/edit(如果没有,只是设置showInLegend: false

Highcharts.updateMarketMarkers = function (chart) { 
    /* get category width */ 
    var catWidth = chart.xAxis[0].width/chart.xAxis[0].categories.length; 
    /* get padding of each column (two sides) */ 
    var catPadding = chart.series[0].options.pointPadding * catWidth; 
    /* actual value - padding - symbol width/2 */ 
    chart.series[2].markerGroup.translate(chart.series[2].markerGroup.translateX - 2 * catPadding - chart.series[2].data[0].shapeArgs.r/2); 
}; 
chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container', 
     type: 'column', 
     showAxes: false, 
     events: { 
      load: function() { 
       Highcharts.updateMarketMarkers(this); 
      }, 
      redraw: function() { 
       Highcharts.updateMarketMarkers(this); 
      } 
     } 
    }, 
    ... 

另一种解决方案是使用Highcharts渲染器自定义绘制形状在特定的地方。在这里你可以找到更多关于渲染器:http://api.highcharts.com/highcharts#Renderer

+0

谢谢帕维尔。我最终走下了渲染器路线,能够将图像/文本放置在某个特定点附近,就像本示例中的highcharts http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com /树/主/样品/ highcharts /构件/呈现器上-图表/ – user2081195 2013-02-18 17:12:14