我正在尝试使用HighCharts创建一个简单的条形图。
我想删除栏之间的空格。我的研究让我相信属性groundPadding
和pointPadding
是造成这个空间的原因。但是将两者都设置为0
并没有改变任何内容。
const config = {
chart: {
type: 'bar',
spacingTop: 0,
spacingRight: 0,
spacingBottom: 0,
spacingLeft: 0,
// marginTop: 0,
// marginRight: 0,
// marginBottom: 0,
// marginLeft: 0
},
title: {
text: null
},
legend: {
enabled: false
},
credits: {
text: ''
},
xAxis: {
categories: options.map(option => option.option),
// lineWidth: 0,
// tickWidth: 0,
},
yAxis: {
title: {
enabled: false,
},
gridLineWidth: 0,
tickAmount: 0,
showFirstLabel: false,
showLastLabel: false
},
series: [{
data: options.map(option => option.votes)
}],
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
},
series: {
pointWidth: 20,
groundPadding: 0,
pointPadding: 0
}
}
};
有什么想法吗?
编辑:
不确定是否相关,但包裹我的图表的红色div
是:
<div style={{ width: '100%', height: '100%', margin: 'auto', border: '2px solid red' }}>
<ReactHighCharts config={config}></ReactHighCharts>
</div>
绿色div
的尺寸为:width: 350px
和height: 400px
答案 0 :(得分:1)
groundPadding
和pointPadding
将在bar
内,而不是series
plotOptions: {
bar: {
groupPadding: 0,
pointPadding: 0,
dataLabels: {
enabled: true,
}
}
},
答案 1 :(得分:0)
您的代码中有错误。您设置groundPadding
而不是groupPadding
。此外,如果您使用pointPadding
和groupPadding
,则在pointWidth
之前设置pointWidth
将不会生效,因为pointWidth
是根据这两个参数计算的。如果要为所有点设置一个宽度,请仅设置chart.setSize
属性。至于每次添加另一个点时增加图表的高度,您可以使用{{1}}函数检查加载事件上的点数并充分更改图表大小。看一下下面的例子。
API参考:
https://api.highcharts.com/class-reference/Highcharts.Chart.html#setSize