2016-04-25 82 views
1

我在同一个图表上有多个系列,我想使用工具提示格式化工具使工具提示中的系列名称看起来可读。目前,它们以SeriesonenameSeriestwoname的形式显示,但我希望它们以Series One NameSeries Two Name的形式显示。我仍然希望保持工具提示的格式为Series One Name: 0.567Highcharts:在工具提示中格式化系列名称

我格式化图表标签,在这里我用下面的代码时做一些与此类似:

legend: { 
    labelFormatter: function() { 
    return { 
     'Seriesonename': 'Series One Name', 
     'Seriestwoname': 'Series Two Name' 
    }[this.name]; 
    } 
} 

我试图做同样的工具提示格式化,但我似乎无法让它起作用。我怀疑这是与共享工具提示的事实有关,但我不能100%确定。

任何帮助将不胜感激!

+1

你为什么不设置''''本身的'name'属性? –

+0

@HalvorStrand我不确定我可以。我的数据来自另一个来源,我使用Highcharts包装器来格式化所有内容,因此我必须使用labelFormatter来分类图例中的系列名称。 – helencrump

+0

但是,如果您预先处理数据,则可以在将任何内容发送到统计图之前进行一次,而不是每次需要显示名称时都进行。 – jlbriggs

回答

5

若要对工具提示执行类似legend.labelFormatter的方法,您可以使用tooltip.formattertooltip.pointFormatter,这在某种程度上取决于设置图表的方式。

使用tooltip.pointFormatter可能是(JSFiddle)的一个例子:

tooltip: { 
    pointFormatter: function() { 
     var seriesNameConverter = { 
      'Seriesonename': 'Series One Name', 
      'Seriestwoname': 'Series Two Name' 
     }; 

     return '<span style="color:{point.color}">\u25CF</span> ' 
      + seriesNameConverter[this.series.name] + ': <b>' + this.y + '</b><br/>'; 
    } 
} 

这是tooltip.pointFormat与地方的系列名称的转换默认样式。

+0

我很确定这正是我所需要的,但它似乎对工具提示没有任何影响 - 也没有任何控制台错误。 'tooltip.formatter'确实产生了错误,所以我想我需要使用'pointFormatter'。 – helencrump

+0

你的意思是在你自己的代码中?由于JSFiddle中显示的效果是你需要的,对吗? –

+0

是的,JSFiddle正是我想要实现的。我可能错过了一些明显的东西。感谢所有的帮助! :) – helencrump

相关问题