0
버전 2.1.6에서 4.0.4로 업데이트했으며 alignTicks 옵션을 새로 고침하는 데 문제가 있습니다. 속성에서 true로 시작한 다음 버튼을 통해 false로 설정했습니다. 그래프가 true에서 false로 변경되면 윈도우 크기가 변경되거나 하나의 데이터 세트가 비활성화/활성화 된 후에 만 그래프가 업데이트됩니다. 다시 false에서 true로 그때는 ... 제대로 작동 여기 하이 차트가 alignTicks로 작업하지 않음
예를 들어
:chart = new Highcharts.Chart({
'chart': {
'renderTo': 'graph',
'type': 'line',
'zoomType': 'x',
'alignTicks': true
},
'tooltip': {
'formatter': function() {
var d = new Date(this.x);
return 'Time: <b>' + ('0' + d.getUTCHours()).slice(- 2) + ':' + ('0' + d.getUTCMinutes()).slice(- 2) + ':' + ('0' + d.getUTCSeconds()).slice(- 2) + '</b><br/> Value: <b>' + this.y + '</b>';
}
},
'credits': false,
'title': {
'text': 'Date: 04-11-2014 - Location: Locale'
},
'xAxis': {
'type': 'datetime'
},
'yAxis': [
{
'title': {
'text': 'SK_angle',
'style': {
'color': '#4572A7'
}
},
'labels': {
'style': {
'color': '#4572A7'
}
},
'opposite': false,
'allowDecimals': true
},
{
'title': {
'text': 'EL_angle',
'style': {
'color': '#AA4643'
}
},
'labels': {
'style': {
'color': '#AA4643'
}
},
'opposite': true,
'allowDecimals': true
},
{
'title': {
'text': 'Software Status',
'style': {
'color': '#89A54E'
}
},
'labels': {
'style': {
'color': '#89A54E'
}
},
'opposite': false,
'allowDecimals': false
}
],
'series': [
{
'color': '#4572A7',
'name': 'SK_angle',
'yAxis': 0,
'data': [
[1415064918000,305.89],
[1415064919000,335.0],
[1415064923000,306.05],
]
},
{
'color': '#AA4643',
'name': 'EL_angle',
'yAxis': 1,
'data': [
[1415064918000,37.87],
[1415064919000,37.2],
[1415064923000,37.9],
]
},
{
'color': '#89A54E',
'name': 'Software Status',
'yAxis': 2,
'data': [
[1415064918000,1362],
[1415064919000,1362],
[1415064923000,1256],
]
}
]
});
$('#scaleAlign').click(function() {
if (chart.options.chart.alignTicks) {
chart.options.chart.alignTicks = false;
$('#scaleAlign').attr('value','Align Scale');
}
else {
chart.options.chart.alignTicks = true;
$('#scaleAlign').attr('value','Unalign Scale');
}
chart.isDirtyBox = true;
chart.redraw();
});
http://jsfiddle.net/04Lffe0r/3/
대단히 감사합니다. 이것은 실제로 해결책이지만, 그래프가 시리즈의 수에서 동적이기 때문에 나는이 chart.series.forEach (function (serie) {serie.isDirty = true;});와 같이 할 필요가있었습니다. 당신이 나에게 제안 할 수있는 더 나은 해결책은 없습니다. 그렇지 않으면 답장을 기다리고 나서 해결책을 받아 들일 것입니다.) 가장 오래된 버전 인 isDirtyBox는 모든 것을 다시 그리기에 충분했기 때문에 이것이 나를 바보로 만들었습니다! :) 다시 Thx! – Manny
문제 없습니다. 나는 그렇게 할 또 다른 방법이 있다고 생각하지 않는다. 'AddPoint' 나'Update' 같은 일부 함수는 전달 된'redraw' 매개 변수를 가지고 있습니다. 당신의 경우 적용 할 수 없습니다. –
이 정보에 대해 다시 한 번 감사드립니다. 해결책이 수락되었습니다! – Manny