有没有办法没有黑客如何将y轴标签格式化为瑞士德国风格 (例如 - > 10000000 10'000'000)? 试图将语言设置为瑞士语,但它仍然没有按照它应该格式化
google.load("visualization", "1", { "packages": ["corechart"], 'language': 'de_CH' })
添加了我想要的exaclty示例,现在我已经入侵了,但想知道是否有更好的方法...
答案 0 :(得分:0)
不,这是不可能的。
Google使用ICU DecimalFormat集的子集,不幸的是,这不允许您强制人员使用区域设置或更改分隔符。如果您现在获得.
作为分隔符,那么您将获得最接近的分隔符。
强制执行此类操作的唯一方法是编写自定义代码,使用自定义javascript函数循环遍历图表创建的svg
元素,该函数将替换.
或{{1与,
一起使用。没有超级简单的方法可以做到这一点,但jeffrey_the_wind的this post显示了一种方式:
从我所做的所有搜索来看,以及这里给出的答案 通过jmac,我决定唯一的方法是更换Javascript黑客 轴数字用词。我实现的代码在这里:
'
基本上,你只需要制作一个迭代遍历所有的for循环 您在x和y轴上显示的整数。做一些
/* * * The following 2 functions are a little hacky, they have to be done after calling the "draw" function * The bubble chart originally displays only numbers along the x and y axes instead of customer or product names * These 2 functions replace those numbers with the words for the customers and products * */ for ( var i = -2; i < products.length + 1; i ++ ){ $('#customer_product_grid svg text[text-anchor="start"]:contains("'+i+'")').text(function(j,t){ if (t == i){ if (i >= products.length || i < 0){ return " "; } return products[i]; } }); } for ( var i = -2; i <= customers.length + 3; i ++ ){ $('#customer_product_grid svg text[text-anchor="end"]:contains("'+i+'")').text(function(j,t){ if (i >= customers.length + 1 || i <= 0){ return " "; }else if (t == i){ return customers[i-1]; } }); }
填充要么使用元素替换整数 数组,或者只是将其留空。请注意以上代码才能正常工作,您需要拥有 图表选项中的以下属性 - &gt;
if...else
答案 1 :(得分:0)
这是我的黑客
//Format diagram y-axis labels
var labelContainer = $($("#diagramPlaceholder").find("g")[1]).children("g:last-child").children("g");
//Foreach x,y1,y2 labels do
labelContainer.each(function() {
var textContainer = $(this).find("text");
//If labels contains valid number
if (!isNaN(textContainer.text().replace(/\./g, '').replace(',', '.'))) {
//Replace " . " chars with " ' " char
textContainer.text(textContainer.text().replace(/\b[.]\b/g, '\''));
}
});