2017-12-14 16 views
1

3D 스택 세로 막 대형 차트가 있습니다. 데이터에 더 큰 값이있는 경우 작은 값이 차트에 표시되지 않습니다. highcharts, 누적 기둥 형 차트의 최소 높이를 설정 하시겠습니까?

http://jsfiddle.net/43pv1a2q/6/

series: [{ 
     name: 'John', 
     data: [500, 3, 4, 7, 2], //If change 500 to 5, all blocks will be shown 
     stack: 'male' 
    }, { 
     name: 'Joe', 
     data: [300, 4, 4, 2, 5], //change 300 to 3 
     stack: 'male' 
    }, 

    { 
     name: 'Tom', 
     data: [500, 3, 4, 7, 2], // change 500 to 5 
     stack: 'male' 
    }] 

minPointLength는 막대 차트와 함께 작동,하지만 누적 세로 차트에서 볼 수 있듯이. https://api.highcharts.com/highcharts/series.columnrange.minPointLength

누적 열의 블록 높이를 어떻게 설정합니까? 대수,과 같이 :

답변

0

용액 입력 Y 축이 설정 될 수 분 : http://jsfiddle.net/43pv1a2q/8/

yAxis: { 
    type: 'logarithmic', 
    allowDecimals: false, 
    title: { 
     text: 'Number of fruits', 
     skew3d: true 
    } 
}, 

I이 만든 유일한 변경 ' "로그"제거 형태 "로 설정하는 것이다 : 0 ". 나는 엄청나게 다른 숫자로 작업 할 때 찾고있는 것을 달성하는 다른 방법을 생각할 수 없다.

편집 : 물론"최소 : X "를 사용하여 최소값을 설정할 수있다. 값이 y 축에 있으며, 최소값을 기본값으로 설정하려고 할 때 불필요하므로 제거했습니다.

1

버그 인 것 같습니다. 당신은 여기로 신고 할 수 있습니다 https://github.com/highcharts/highcharts/issues

해결 방법 :

내가 원래 y 값보다 50 (임계 값) 인 경우 새 값을 사용하여 모든 지점을 업데이트하고 realValue 속성에 원래 값을 저장합니다.

events: { 
    load: function() { 

    var chart = this, 
     minColHeightVal = 50; 

    chart.series.forEach(function(s) { 
     s.points.forEach(function(p) { 

     if (p.y < minColHeightVal) { 
      p.update({ 
      y: minColHeightVal, 
      realValue: p.y 
      }, false); 
     } 
     }); 
    }); 

    chart.redraw(); 

    } 
} 

// (...) 

pointFormatter: function() { 
    var stackSum = 0, 
    point = this, 
    chart = point.series.chart; 

    chart.series.forEach(function(s) { 
    s.points.forEach(function(p) { 
     if (p.x === point.x) { 
     stackSum += p.realValue ? p.realValue : p.y 
     } 
    }); 
    }); 

    return '<span style="color:' + this.color + '">\u25CF</span> ' + this.series.name + ': ' + (point.realValue ? point.realValue : point.y) + '/' + stackSum; 

} 

라이브 데모 :http://jsfiddle.net/kkulig/j3toufk9/

시청자가 적절한 값을 볼 수 있도록 그런 다음 수동으로 tooltip.pointFormatter의 모든 스택에 대한 누적 값을 계산