Javascript 饼图的格式打印选项
我这儿有把小提琴。我基本上是格式化plotoptions,以m和k格式显示我的数字highcharts对y轴所做的操作。我也希望将该图表作为饼图,但我得到一个错误,即无法读取未定义的属性'tickInterval',这表明yAxis。 有人能告诉我如何使饼图的格式工作也Javascript 饼图的格式打印选项,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我这儿有把小提琴。我基本上是格式化plotoptions,以m和k格式显示我的数字highcharts对y轴所做的操作。我也希望将该图表作为饼图,但我得到一个错误,即无法读取未定义的属性'tickInterval',这表明yAxis。 有人能告诉我如何使饼图的格式工作也 var options = { chart: { renderTo: 'drillDown' },
var options = {
chart: {
renderTo: 'drillDown'
},
title: {
text: 'Healthcare Operations'
},
subtitle: {
text: 'Facility Revenue'
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
formatter:
function () {
var ret = '',
multi,
axis = this.series.yAxis,
numericSymbols = ['k', 'M', 'G', 'T', 'P', 'E'],
i = numericSymbols.length;
while (i-- && ret === '') {
multi = Math.pow(1000, i + 1);
if (axis.tickInterval >= multi && numericSymbols[i] !== null) {
ret = Highcharts.numberFormat(this.y / multi, -1) + numericSymbols[i];
}
}
return this.point.name + ":" + ret;
}
}
}
},
series: [{
name: 'Facility',
colorByPoint: true,
data: mainData
}],
drilldown: {
series: [ {
name: 'Jacobs Medical Park',
id: 'Jacobs Medical Park',
data: jacobsMedicalParkData
}, {
name: 'Blue Star',
id: 'Blue Star',
data: blueStarData
}, {
name: 'Cigna',
id: 'Cigna',
data: cignaData
},
{
name: 'Blue Cross',
id: 'Blue Cross',
data: blueCrossData
}
]
}
}
options.chart.renderTo = 'drillDown';
options.chart.type = 'column';
var chart1 = new Highcharts.Chart(options);
// Pie
options.chart.renderTo = 'drillDown1';
options.chart.type = 'pie';
var chart2 = new Highcharts.Chart(options);
谢谢如果我答对了,您想将切片的名称与值一起显示吗? 如果我是对的,请在绘图选项中添加以下内容
pie: {
enabled: true,
formatter: function(){
If(this.y >= 1000){
return this.name + ' : ' + this.y/1000 + 'k';
}
return this.name + ' : ' + this.y;
}
}
}
如果我没有弄错,您想将切片的名称与值一起分解吗? 如果我是对的,请在绘图选项中添加以下内容
pie: {
enabled: true,
formatter: function(){
If(this.y >= 1000){
return this.name + ' : ' + this.y/1000 + 'k';
}
return this.name + ' : ' + this.y;
}
}
}
使用找到的函数将数字转换为公制符号字符串:
function intToString (value) {
var suffixes = ["", "k", "m", "b","t"];
var suffixNum = Math.floor((""+value).length/3);
var shortValue = parseFloat((suffixNum != 0 ? (value / Math.pow(1000,suffixNum)) : value).toPrecision(2));
if (shortValue % 1 != 0) shortNum = shortValue.toFixed(1);
return shortValue+suffixes[suffixNum];
}
你可以做:
plotOptions: {
pie: {
dataLabels: {
enabled: true,
formatter: function() {
console.log(this);
return '<b>' + this.key + '</b>: ' + intToString(this.y);
}
}
},
plotOptions:{
馅饼:{
数据标签:{
启用:对,
格式化程序:函数(){
console.log(this);
返回“+this.key+”:“+intToString(this.y);
}
}
},
您可能可以通过调用此函数来替换条形图的现有代码,以及代码重用/可读性
示例。使用找到的将数字转换为公制符号字符串的函数:
function intToString (value) {
var suffixes = ["", "k", "m", "b","t"];
var suffixNum = Math.floor((""+value).length/3);
var shortValue = parseFloat((suffixNum != 0 ? (value / Math.pow(1000,suffixNum)) : value).toPrecision(2));
if (shortValue % 1 != 0) shortNum = shortValue.toFixed(1);
return shortValue+suffixes[suffixNum];
}
你可以做:
plotOptions: {
pie: {
dataLabels: {
enabled: true,
formatter: function() {
console.log(this);
return '<b>' + this.key + '</b>: ' + intToString(this.y);
}
}
},
plotOptions:{
馅饼:{
数据标签:{
启用:对,
格式化程序:函数(){
console.log(this);
返回“+this.key+”:“+intToString(this.y);
}
}
},
您可能可以通过调用此函数来替换条形图的现有代码,以及代码重用/可读性
示例。我想格式化它,这样100000将显示为100K这是一种方法,您可以进一步定制它以实现您想要的。我想格式化它,这样100000将显示为100K这是一种方法,您可以进一步定制它以实现您想要的。太棒了……非常感谢您的支持帮助。刚开始使用highcharts,非常感谢您的帮助:)。太棒了。非常感谢您的帮助。刚开始使用highcharts,非常感谢您的帮助:)。