设置高图表y轴标签的格式
Format Highcharts y-axis labels
我正在使用Highcharts生成一个显示货币价值的折线图。默认情况下,y轴标签使用公制前缀作为缩写,例如显示3k而不是3000
我想为这些标签准备一个货币符号,例如显示3000美元而不是3000美元。但是,一旦添加了货币符号,就不再使用公制前缀。我试过以下
yAxis: {
labels: {
formatter: function () {
return '$' + this.value;
}
}
}
还尝试了
yAxis: {
labels: {
format: '${value}'
}
}
但在这两种情况下,显示的都是3000美元,而不是3000美元。是否可以在不丢失公制前缀的情况下添加货币符号?
这里有一个演示(这里是JSFiddle),它说明了的问题
$(function() {
$('#container').highcharts({
yAxis: {
// if you include the lines below, the metric prefixes disappear
/*
labels: {
format: '${value}'
}
*/
},
series: [{
data: [15000, 20000, 30000]
}]
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px; width: 500px"></div>
您可以从格式化程序函数中调用原始格式化程序:
$(function () {
$('#container').highcharts({
yAxis: {
labels: {
formatter: function () {
return '$' + this.axis.defaultLabelFormatter.call(this);
}
}
},
series: [{
data: [15000, 20000, 30000]
}]
});
});
http://jsfiddle.net/x6b0onkp/2/
我查看了HighCharts的源代码,发现如果传递format
或formatter
,它不会添加数字符号。它在else if
语句中,即formatOption xor numericSymbol。因此,您需要添加一个格式化程序并自己执行逻辑。
这是他们代码的一个稍微修改过的复制粘贴:
formatter: function() {
var ret,
numericSymbols = ['k', 'M', 'G', 'T', 'P', 'E'],
i = numericSymbols.length;
if(this.value >=1000) {
while (i-- && ret === undefined) {
multi = Math.pow(1000, i + 1);
if (this.value >= multi && numericSymbols[i] !== null) {
ret = (this.value / multi) + numericSymbols[i];
}
}
}
return '$' + (ret ? ret : this.value);
}
http://jsfiddle.net/x6b0onkp/1/
相关文章:
- 有没有一种方法可以从两个标签之间提取文本,并以我选择的格式输出
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 动态更改高图中x轴刻度标签的日期时间格式
- X 轴中的最后一个标签,日期时间格式不在高图表中
- 什么意思是“服务器标签格式不正确”,这个按钮会发生什么
- 高图表日期时间标签格式不起作用
- Javascript - 替换 CMS 格式内容 Pt. II 中的标签
- D3js,时间轴标签的特定格式
- 如何将序列化的表单转换为具有标签列表的json格式
- 如何将此输入名称转换为正确的标签格式
- 如何在Plottable.js饼图标签中将数字精度格式化为两位小数
- d3基于值的文本标签格式
- 设置高图表y轴标签的格式
- 在JQuery Mobile中,在同一行设置标签格式和切换开关
- 在HTML5中显示两位数格式的输入标签(文本框控件)
- 删除TinyMCE格式菜单标签
- ASP.jQuery UI自动完成的输出格式(显示值标签键对)
- AngularJS日期过滤器将短日期格式转换为'M/d/y '标签/字符串
- rCharts格式轴标签:outputFormat
- 在javascript的格式标签中点击