我必须使用在colums和Y轴之间有1px空间的highcharts做柱形图,如何将我想要的图表中的1px空间添加到我做的图表中,这些是我做的代码: (对不起,我没有足够的声誉来添加图像,这就是为什么我没有发布的原因)
var data = [ 20, 29, 25, 29, 21, 17, 20, 19, 18];
createMeasuresGraph(data, "quintals-sugar-graph");
function createMeasuresGraph(data, container) {
data[0] = { color: '#55B647', y: data[0] };
data[data.length -2 ] = { color: '#F15B49', y: data[data.length -2 ] };
var chart = new Highcharts.Chart({
chart: {
marginBottom: 1,
marginLeft: 0,
marginRight: 0,
marginTop: 0,
renderTo: container,
type: 'column',
},
credits: {
enabled: false
},
legend: {
enabled: false
},
plotOptions: {
column: {
pointWidth: 5,
},
series: {
borderWidth: .1,
}
},
series: [{
data: data,
color: '#95D2F3',
shadow: false,
}],
title: {
text: ''
},
tooltip: {
enabled: false
},
xAxis: {
labels: {
enabled: false
},
title: {
enabled: false
},
lineColor: '#CBCBCB',
tickWidth: 0
},
yAxis: {
endOnTick: false,
gridLineWidth: 0,
labels: {
enabled: false
},
startOnTick: false,
minPadding: 0.5,
title: {
text: ""
}
}
});
}
我也看到所有列之间的空格不一样,也许我使用了错误的aproch来获取空格,它最好是什么?
答案 0 :(得分:13)
你想在每列之间留一个1px的空间吗?
我会根据图的大小/列数来计算列宽:
var colWidth = ($('#quintals-sugar-graph').width() / data.length) + 1;
然后将“borderWidth”设置为1px以提供空格:
plotOptions: {
column: {
pointWidth: colWidth,
borderWidth: 1
},
},
小提琴here。
答案 1 :(得分:4)
你真的需要宽度恰好是1px吗?如果没有,以下内容也会在列之间留出最小的空间,并且更方便:
plotOptions: {
column: {
pointPadding: 0,
groupPadding: 0
}
}
答案 2 :(得分:2)
您可以这样做:
plotOptions: {
column: {
pointPadding: 0,
groupPadding: 0,
borderWidth: 1
}
},