我们在使用Angular JS的应用程序中使用Highcharts。我想设置从$locale服务接收的特定于用户文化的金额格式。参考了一个链接后,我知道我们可以在以下属性中设置Highcharts的值:
Highcharts.setOptions({
lang: {
thousandsSep: ','
}
});
但是在我的代码中编写它时,我得到Highcharts未定义的错误,即使我在配置对象中仅设置lang属性也不工作:
function extendBaseConfiguration(config) {
// these options are the default for all the charts. Pass in an object to override these values (or just change them once they're returned)
return $.extend(true, {
chart: {
plotBackgroundColor: null,
plotBorderWidth: 0,
plotShadow: false,
borderWidth: 0
},
plotOptions: {
column: {
grouping: false,
pointPadding: 0.2,
borderWidth: 0
}
},
lang: {
decimalPoint: $locale.NUMBER_FORMATS.DECIMAL_SEP,
thousandsSep: $locale.NUMBER_FORMATS.GROUP_SEP
},
tooltip: { pointFormat: '{series.name}: {point.y}'},
exporting: {enabled: true},
credits: {enabled: false}
}, config);
}
那么我如何或者在哪里注入这个Highcharts以便我可以设置它的值。或者,是否有其他技术可以使数量与用户文化特定。
尝试在控制器中使用setopoptions,似乎应用了选项。
Highcharts.setOptions({
lang: {
printChart: 'Aaaa',
thousandsSep: ','
}
});
$scope.chartConfig = {
options: {
chart: {
type: 'bar'
}
},
series: [{
data: [1000, 1500, 1200, 8000, 7000]
}],
title: {
text: 'Hello'
},
loading: false
}
示例:http://jsfiddle.net/Hjdnw/1426/