0
하이 포인트는 포인트가 같은 값일 때 하이 라인이 그려지는 곳을 찾지 않습니다. 이게 버그 야? 아니면 내가 잃어 버렸어? 어떻게 해결할 수 있을까요? 내가 아래에 언급하고 applyGradient 전화로 아래의 코드를 수정하지만 한하이 차트 챠트 차트 이상한 문제
아직도 내가 선을 참조니까. 나는이 코드가 무엇이 잘못되었는지 확신하지 못한다.
lineChartOptions: function (displayFormat) {
var self = this;
var data = this.getSeriesData(false);
var xCategories = _.range(1, data.length + 1);
var title = $('#coid_title').text();
var defaultColor = ['#0f477a'];
var dataSum = 0;
var yData = _.pluck(data, 'y');
for (var i = 0, len = yData.length; i < len; i++) {
dataSum += yData[i];
}
// Highcharts.getOptions().colors = Highcharts.map(defaultColor, function (color) {
// return {
// radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
// stops: [
// [0, color],
// [1, Highcharts.Color(color).brighten(0.0).get('rgb')] // darken
// ]
// };
// });
var applyGradient = function (color) {
return {
radialGradient: {
cx: 0.5,
cy: 0.3,
r: 0.7
},
stops: [
[0, color],
[1, Highcharts.Color(color).brighten(0.0).get('rgb')]
]
};
};
var options = {
chart: {
renderTo: 'coid_graphicalChart',
type: 'line',
reflow : false,
style: {
fontFamily: ""
},
events: {
load: function (e) {
var series = this.series[0];
var pointData = series.data;
var chart = series.chart;
var legendTitle = self.currentGraphData;
var $legend = $('.highcharts-legend');
$legend.empty();
var renderer = chart.renderer;
var chartHeight = chart.chartHeight;
var maxWidth = 324, wrappedHeight = 13, inc = 20,
yt = 25,
ixl = 5, yl = 50,
cxl = ixl + 349, nxl = ixl + 25,
ixr = 400, yr = yl,
cxr = ixr + 354, nxr = ixr + 30;
var leftColumnCnt = Cobalt.Search.Util.parseInt((pointData.length/2) + (pointData.length % 2));
var legendgroup = renderer.g().add();
renderer.text(self.templates.lineChartLegend({ legendTitle: legendTitle }), ixl, yt).add(legendgroup);
for (var i = 0; i < leftColumnCnt; i++) {
var cnt = 0;
renderer.text((i + 1) + ".", ixl, yl).add(legendgroup);
var wrapped = self.drawText(legendgroup.element, pointData[i].name, nxl, yl, wrappedHeight, inc, maxWidth);
if (self.displayFormat === self.constants.percentage) {
cnt = renderer.text(Highcharts.numberFormat((pointData[i].y/series.options.dataSum) * 100) + '%', cxl, yl);
} else {
cnt = renderer.text(pointData[i].y, cxl, yl);
}
cnt.element.setAttribute('text-anchor', 'end');
cnt.add(legendgroup);
if (wrapped) {
yl += inc + 27;
} else {
yl += inc;
}
}
for (var i = leftColumnCnt, pointDataLength = pointData.length; i < pointDataLength; i++) {
var cnt = 0;
renderer.text((i + 1) + ".", ixr, yr).add(legendgroup);
var wrapped = self.drawText(legendgroup.element, pointData[i].name, nxr, yr, wrappedHeight, inc, maxWidth);
if (self.displayFormat === self.constants.percentage) {
cnt = renderer.text(Highcharts.numberFormat((pointData[i].y/series.options.dataSum) * 100) + '%', cxr, yr);
} else {
cnt = renderer.text(pointData[i].y, cxr, yr);
}
cnt.element.setAttribute('text-anchor', 'end');
cnt.add(legendgroup);
if (wrapped) {
yr += inc + 27;
} else {
yr += inc;
}
}
$('g.highcharts-legend').append(legendgroup.element);
$('.highcharts-background').attr('height', chartHeight + yl);
chart.container.firstChild.setAttribute('height', chartHeight + yl);
chart.container.style.height = chart.container.firstChild.style.height = chartHeight + yl + 'px';
chart.container.parentElement.style.height = chartHeight + yl + 'px';
self.hideChartTitle();
},
redraw: function (e) {
this.series[0].chart = self.reCreateChart();
}
}
},
title: {
text: title
},
exporting: {
enabled: false
},
xAxis: {
categories: xCategories,
labels: {
style: {
fontSize: '100%',
color: '#000000'
}
}
},
yAxis: {
min: 0,
title: {
enabled: false
},
labels: {
style: {
fontSize: '100%',
color: '#000000'
}
}
},
legend: {
enabled: true,
align: 'middle',
verticalAlign: 'bottom',
layout: 'vertical'
},
plotOptions: {
line: {
events: {
legendItemClick: function() {
return false;
}
},
lineWidth: 4,
marker: {
radius: 8
}
}
},
credits: {
enabled: false
},
tooltip: {
useHTML: true,
enabled: true,
backgroundColor: '#fcfbdf',
borderColor: '#feda73'
},
series: [{
dataSum: dataSum,
animation: false,
data: data,
marker: {
fillColor: applyGradient(defaultColor)
}
}]
};
if (displayFormat === this.constants.percentage) {
options.tooltip.formatter = function() {
return self.templates.tooltip(self.tooltipFormatter(this.series.options.dataSum, this.key, this.y, displayFormat));
};
} else {
options.tooltip.formatter = function() {
return self.templates.tooltip(self.tooltipFormatter(this.series.options.dataSum, this.key, this.y, displayFormat));
};
}
return options;
},
이 코드는 작동하지만 여기에 어떤 코드가 있습니까? [부호 (\t \t \t \t \t VAR의 DEFAULTCOLOR = '#의 0f477a'] \t \t \t \t \t VAR dataSum = 0; \t \t \t \t \t VAR을 yData = _.pluck (데이터) 'Y'; 위한 \t \t \t \t \t VAR (I = 0, = LEN yData.length 나는 렌 <; 내가 ++) { \t \t \t \t \t \t DAT aSum + = yData [i]; \t \t \t \t \t} \t \t \t \t \t Highcharts.getOptions(). 색상 = Highcharts.map (DEFAULTCOLOR 함수 (색상) { \t \t \t \t \t \t 창 { \t \t \t \t \t \t \t radialGradient : {cx : 0.5, cy : 0.3, r : 0.7}, \t \t \t \t \t \t \t 정지 : \t \t [0, 색상, \t \t [1 Highcharts.Color .brighten (색) (0.0).// ('RGB')를] 얻을 어둡게 \t \t] \t \t \t \t \t \t}; \t \t \t \t \t})) [code] – user3496151
@ user3496151 주석의 코드를 이해하는 것은 거의 불가능합니다. 원래 게시물을 수정하고 위에서 작성한 코드를 추가해야합니다. 그렇다면 그것을 살펴 보겠습니다. –
위의 코드를 사용하여 동일한 문제를 해결할 수 있도록 위의 코드와 바이올린을 업데이트 해 주셔서 감사합니다. – user3496151