2014-11-23 3 views
0

내 내보내기 서버를 설치하고 서버의 모든 차트를 생성하는 데 사용하고 있습니다. 내가 가지고있는 한가지 문제는 데이터 레이블입니다. 형식을 사용하면 제대로 작동하지만 포맷터가 필요하며 호출 된 것처럼 보이지 않습니다. 내 옵션의 관련 부분입니다 :내보내기 서버의 하이 차트 데이터 레이블 포맷

dataLabels: { 
      enabled: true, 
      color: '#606060', 
      align: 'right', 
      //format:'{point.y:.0f}', 
      formatter:function(){ 

       var val = this.y; 

       return val/1000000 + 'M'; 

      }, 

값이 정상적으로 표시되기 때문에이 함수는 그냥 호출되지 않습니다. 클라이언트에서 이러한 정확한 옵션을 사용할 때 제대로 작동합니다. 이것은 가능하지 않습니까?

업데이트 : 나는 phantomjs가있는 서버에서이 작업을 수행하면서 내 자신의 내보내기 서버 (highcharts-converter.js)를 가지고 있습니다. 내가하는 일은 다른 서비스에서 데이터를 가져 와서 클라이언트에서와 같이 infile을 빌드하는 것입니다. 내가 만난 문제는 1. JSON.stringify가 infile에서 포맷터 함수를 제거합니다. 2. 만약 내가 highcharts phantomjs에 대한 webservice를 호출해야하기 때문에 작동하지 않는 문자열을 만들 수 있습니다. 이는 config가 자동으로 JSON으로 변환되고 변환기가 JSON.parse를 수행 할 때 함수가 문자열로 남아 있음을 의미합니다. highcharts-convert.js를 어떻게 바꾸어서 함수로 되돌려 줄 필요가 있는지는 모르겠지만, 어떻게 분리되는지는 알 수 없으며 별도의 프로세스 (phantomjs 자식 프로세스)에 있기 때문에 그 파일을 디버깅하는 방법을 모르겠습니다. 이 문제를 해결하기 위해 내가 생각할 수있는 모든 것을 시도했지만 지금까지는 행운이 없습니다. ALSO

: 형식 오류 : '정의되지 않은'나는 확실하지 비록 해결책을 발견

+0

전에이 권리를 수행 그것을 작동합니다 : HTTP : //jsfiddle.net/0gt60Lrx/1/, 재현 가능한 예제를 만들 수 있습니까? – Mark

답변

0

('axis.labelFormatter.call을'평가) 함수 아니다 함수가 문자열 highcharts 때문에이 오류가 발생합니다 그것은 최고의 하나입니다. json.stringify를 호출하고 재정의합니다. 그런 다음 함수를 문자열로 변환하여 포스트 호출에서 전송되면 제거되지 않습니다. 그런 다음 highcharts-convert.js에서 다시 함수로 변환합니다.

미안해 너무 오래 돌아 왔습니다. 잠시 있었지만 나는 이것이 이것이라고 믿습니다. 나는이 한 캐릭터 라인 화하려면 highcharts-convert.createChart에 다음

function toJSONWithFuncs(obj) { 
Object.prototype.toJSON = function() { 
    var sobj = {}, i; 
    for (i in this) 
     if (this.hasOwnProperty(i)) 
      sobj[i] = typeof this[i] == 'function' ? 
       this[i].toString() : this[i]; 

    return sobj; 
}; 

var str = JSON.stringify(obj); 

delete Object.prototype.toJSON; 

return str; 

}

을 나는 Highcharts 내보내기 서버를 사용 page.open

input = params.infile; 
input = input.replace(/:"function/g,':function'); 
input = input.replace(/(}\|")/g,'}'); 
+0

어디에서 다시 higcharts-convert.js 파일의 함수로 바꾸겠습니까? 동일한 문제가 있지만 솔루션을 찾을 수 없습니다 ... –

+0

나는 동일합니다. 네가 만든 변화를 공유 할 기회가있어? – dreza

+0

죄송합니다. 오랜 시간이 걸렸지 만 이것이 여기에 있다고 생각합니다. page.open을 호출하기 전에 highcharts-convert의 createChart 메소드에서이 작업을 수행합니다. – Jason

관련 문제