2015-03-02 88 views
0

我大致熟悉highchart中的气泡图表。 气泡总是呈现居中依赖于其X和Y坐标。highcharts:气泡图:我可以使气泡更高,不居中?

想象一下,Y轴是货币(美元)。泡沫成本例如100美元。 然后泡泡完全呈现在这些100美元(和X轴)的中间,并且范围例如其顶部为110美元,底部为90美元,这取决于它的半径。

现在有没有办法将这个泡泡人为地设置得更高,以至于边缘的底部会划出100美元的标记?

当然,我可以通过添加10美元的偏移量来操纵所有数据系列。但是,如果我使用“缩放功能”,这是行不通的,因为缩放比例不同!

如果有人想知道为什么我需要这个奇怪的东西: 如果文章“xyz”花费100美元,泡沫范围降低到90,那么就不应该有谈判的余地。买方不应该明白他可以谈判的想法因为它的半径有90美元的空间!

嘿谢谢你们!

回答

1

它不支持,byut你可以扩展默认的方法drawPointshttp://jsfiddle.net/zb443xj9/

(function (H) { 
    H.wrap(H.seriesTypes.bubble.prototype, 'drawPoints', function (p) { 
     var series = this; 
     H.each(series.points, function (point, i) { 
      point.shapeArgs.y -= point.shapeArgs.r; // move center up by radius 
     }); 

     p.call(this); 
    }); 
})(Highcharts); 
0

您的解决方案绝对是一个办法!非常好!

在泡泡内我持有X值和Y值等信息。

我可以简单地移动dataLabels回使用 y中的新的泡沫:-35,//硬编码值-35服在我的情况,我也可以访问这里的半径?

我想有某事像:

y: -point.shapeArgs.r //how can I access to this property? 

这里的dataLabels的代码片段:

plotOptions: { 
     bubble: { 
      dataLabels: { 
       enabled: true, 
       y: -35, 
       style: { textShadow: 'none' }, 
       formatter: function() { 
        return this.point.y + "<br>" + this.point.x ; 
       } 
      }, 
      minSize: '10%', 
      maxSize: '30%' 
     } 
    }, 

的最后一个问题是工具提示。 工具提示仍指原始中心。 你可以看到,如果你将鼠标悬停在现在移动的泡泡上。 你看到“老原”的影子。

我们可以添加/修改它适合Tooltip的函数吗?

问候!