2013-05-28 2 views
1

Highcharts 라이브러리를 사용하여 만든 프로그램에 일부 데이터가 표시됩니다. 두 개의 거의 동일한 코드 조각이 매우 다른 결과를 보였습니다 (첫 번째, 두 번째 줄, 두 번째 줄, 두 번째 줄, 한 줄짜리, 내가 원하는 것을 보여줌). 나는 차트의 구성에 아무런 잘못을하지 않았는지 확인하려면 다음 코드 from the highcharts website을 복사하여 그대로 정확하게 남아 있지만 예상치 못한 결과를 얻을 수 :동적으로 생성 된 하이 차트에 막대/라인이 표시되지 않습니다.

var chartinfo = { 
    chart: { 
     type: 'bar' 
    }, 
    title: { 
     text: 'Fruit Consumption' 
    }, 
    xAxis: { 
     categories: ['Apples', 'Bananas', 'Oranges'] 
    }, 
    yAxis: { 
     title: { 
      text: 'Fruit eaten' 
     } 
    }, 
    series: [{ 
     name: 'Jane', 
     data: [1, 0, 4] 
    }, { 
     name: 'John', 
     data: [5, 7, 3] 
    }] 
} 

$("#" + graphid).highcharts(chartinfo); 

이 다음 차트가 생성

Generated graph

당신이 볼 수 있듯이이 예상 규모가 (이미지를 클릭하면 확대) (0 - 범위는 0-7입니다 7.5). 나는 drawTracker 함수의 시작 인 highcharts.src.js (v3.0.1)의 14503 행에 중단 점 (Chrome 사용)을 배치했습니다.

drawTracker은 분명히 표시되는 그래프에 대해 호출되지만 위의 그래프에서는 호출되지 않습니다. 따라서 규모가 결정되거나 실행되는 지점과 실제 도면간에 문제가 발생합니다.

문제에 대한 통찰력이 있으면 크게 감사하겠습니다.

편집

단지 페이지의 첫 번째 그래프에 어떻게 나타납니다. 내가 그들을 바꿀 때 (메서드 호출) 첫 번째 줄을 표시하지 않습니다 및 두 번째 막대 (위의 코드) 표시합니다. 그래서 제가 발견하고자하는 것은 주먹 그래프가 그 내용을 보여주지 않고 두 번째 그래프의 내용을 보여주는 이유입니다.

+0

해결책을 찾았습니다. 가능한 한 빨리 대답 할 것이므로이 문제로 사람들을 도울 수 있습니다. – Manuel

+0

아마도 $ ("#"+ graphid) .highcharts (chartinfo); 이 선과 그래프 변수. –

+0

아니 그게 문제가 아니 었어. 나는 여러 번 모든 것을 검사했는데 정확합니다. 그래프에는 표시되지만 선/막대는 표시되지 않습니다. 나는 아래의 특정 문제에 이미 해결책을 게시했다. – Manuel

답변

0

차트가 (내 경우 그래프의 모든 변형에 대해 동일한에 대한) 코드의 다음 줄에 의해 동적으로 추가 인출되는 컨테이너 : 나는를 사용하는 경우

$('#' + container).html($('#' + container).html() + "<div class=\"graph\" id=\"" + graphid + "\"></div>"); 

이 사용이 작동합니다 Elycharts 라이브러리이지만 Highcharts를 사용하면 선이 올바르게 그려지기 전에 그래프가 사본으로 대체된다는 문제가있었습니다. 다음을 수행하여이 문제를 해결했습니다 :

jQuery의 추가 메소드는 기존 html을 건드리지 않고 기존 html을 기존에 추가합니다. 이렇게하면 스크립트가 선/막대/그리기를 원하는대로 그릴 수 있습니다.

+0

일반적으로 append()가 더 좋은 해결책입니다. –

+0

나는이 경우에 주목했다! :) – Manuel

관련 문제