2012-12-19 2 views
15

나는 명명 된 값을 사용하는 두 개의 데이터 계열을 가진 highcharts 테이블을 가지고있다. 하나의 시리즈에 대한 내 툴팁에서이 시리즈의 데이터 포인트를 참조하고 싶습니다. 그래서이 대답의 해결책 : How to use a different formatter on Highcharts in each curve of the same graphic?이 나를 도와주지 않습니다.하이 차트 툴팁에 두 개의 다른 포맷터를 사용할 수 있습니까?

한 경우 : 난 그냥 ToolTipText입니다 이상이 필요, 나는 포맷터 필요

formatter: function() { 
    return this.x + ': ' + this.series.name + 
    '<br> $' + Highcharts.numberFormat(this.y, 0); 
    } 

을 그리고 다른 위해 :

formatter: function() { 
    return 'In ' + this.x + ' the median value was' + this.median + 
    'and the total $' + Highcharts.numberFormat(this.y, 0);       
} 

답변

28

포맷터 내부 포커스 시리즈에 this reffers, 당신은 추가 할 수 있습니다 포맷터 안에 if/else을 추가하고 각각에 대해 다음과 같이 문자열을 반환하십시오.

tooltip: { 
    shared: false, 
    formatter: function() { 
     var text = ''; 
     if(this.series.name == 'MSFT') { 
      text = this.x + ': ' + this.series.name + 
        '<br> $' + Highcharts.numberFormat(this.y, 0); 
     } else { 
      text = 'In ' + this.x + ' the median value was' + this.median + 
        'and the total $' + Highcharts.numberFormat(this.y, 0); 
     } 
     return text; 
    } 
} 

demo

+7

일, 감사 - 내 생각하지만 ,'this.series.name' 대신에'this.series.options.id'를 사용하는 것이 더 좋으므로 쉽게 변경 될 수있는 것에 의존하지 않습니다. 시리즈를 초기화 할 때 id를 설정할 수 있습니다. –

-1


여기 일례이다. 바이올린 예 here입니다 :

tooltip: { 
      formatter: function() { 
       var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>'; 

       $.each(this.points, function() { 
        s += '<br/>1 USD = ' + this.y + ' EUR'; 
       }); 

       return s; 
      } 
     }, 
3

당신은 쉽게 각 시리즈에 대한 toolip 포매터를 정의 할 수 있습니다 - 여기 참조 : http://api.highcharts.com/highcharts/plotOptions.series.tooltip

{ 
    tooltip: { 
      shared: true 
    }, 
    series: { 
    name: 'some series name', 
    data: mydata, 
    tooltip: { 
     valueSuffix: ' bar' 
    } 
    } 
} 

예 : http://jsfiddle.net/28qzg5gq/

+0

이것은 포맷터가 아니며 단지 접미사입니다. 한 시리즈의 설정 객체에 포맷터를 추가하는 것은'pointFormatter' 함수를 통해 이루어져야합니다 - [example] (http://jsfiddle.net/28qzg5gq/12/). –

관련 문제