2013-03-09 63 views

回答

3

根据你想要显示的内容,它应该是可能的。气泡图将允许与其他任何高点图相同的选项。最简单的方法是使用dataLabels http://api.highcharts.com/highcharts#plotOptions.scatter.dataLabels

 dataLabels:{ 
      enabled:true 
     } 

例如http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-datalabels-box/

如果这对于您来说不够灵活,可以使用底层渲染器http://api.highcharts.com/highcharts#Renderer在图表上绘制任何您想要的图形。这有点困难,但是。一旦你掌握了它,相当直接。 http://jsfiddle.net/4nRk6/

Datalabels可以用格式化功能进行定制,例如:

dataLabels: { 
      enabled: true, 
      formatter: function() { 
        return this.y +'mm'; 
      } 
} 

完整的文档是在这里:http://api.highcharts.com/highcharts#plotOptions.column.dataLabels

我在这里使用datalabels创造了一个小例子如果您需要关于气泡的额外信息,您可能需要格式化您的数据系列,如下所示:

[ 
    {x:1, y:5, bubbleText:"Bubble 1"}, 
    {x:2, y:15, bubbleText:"Bubble 2"}, 
    {x:3, y:5, bubbleText:"Bubble 3"} 
] 

在你的dataLabel中,你可以引用this.point.bubbleText以及this.x和this.y.

+0

感谢您的反馈。我正在为此努力。任何人都可以发布气泡图上带有标签的例子吗?或者这是不是“意味着”成为一个功能? – user2150801 2013-03-10 23:43:44

+0

嗨,Ive更新了我的文章链接到一个工作示例。 http://jsfiddle.net/4nRk6/ – SteveP 2013-03-11 08:39:43

+0

嗨史蒂夫,非常感谢。我需要的是一个文本标签 - 不仅仅是您的示例中显示的x值。就像其他图表一样,我们在系列中包含名称?不知道如何将这个lasideside包含在x,y,尺寸属性中... Nigel。 – user2150801 2013-03-12 02:09:29

13

你需要做两件事。

首先,名字每个数据点(气泡):

data: [ 
    { name: 'Alice', x: 3.5, y: 4, z: 5}, 
    { name: 'Eve', x: 7, y: 7, z: 3}, 
    { name: 'Carol', x: 4, y: 8, z: 6} 
] 

二,创建数据标签格式:

dataLabels: { 
    enabled: true, 
    formatter: function() { 
    return this.point.name; 
    } 
} 

您可以在行动中看到这这里:http://jsfiddle.net/franzo/JuGDp/1/

鲍勃是你的叔叔。

+0

这应该被标记为答案 – 2013-10-12 17:47:44

+0

非常有帮助!根据你的例子,我创建了另一个参考:http://jsfiddle.net/csyyb5da/ – xke 2015-05-11 22:14:15