リサイズのラベルを隠してからチャートを保つためには、あなたがvalueAxis' autoGridCount
を無効にし、ダニの数にgridCount
を設定する必要がありますあなたが見たいと思ってマークします。また、labelFrequency設定を削除する必要があります。ラベルの位置については
va.autoGridCount = false;
va.gridCount = 3;
//va.labelFrequency = 5;
、あなたはボックスの外に回転し、垂直オフセットにlimtedされています。回避策として、例えば、drawn
イベントを通じて直接SVGノードを変更することで、ラベルを配置することができます
// prior to chart.write
chart.addListener("drawn", function(e) {
var textNodes = e.chart.valueAxes[0].labelsSet.node.childNodes;
var transform;
//Position "too little"
transform = parseTransform(textNodes[0].getAttribute('transform'));
transform.translate[0] = parseFloat(transform.translate[0]) + 25;
textNodes[0].setAttribute('transform', serializeTransform(transform));
// Position "too much"
transform = parseTransform(textNodes[2].getAttribute('transform'));
transform.translate[0] = parseFloat(transform.translate[0]) - 25;
textNodes[2].setAttribute('transform', serializeTransform(transform));
});
// ...
// from http://stackoverflow.com/questions/17824145/parse-svg-transform-attribute-with-javascript
function parseTransform(a) {
var b = {};
for (var i in a = a.match(/(\w+\((\-?\d+\.?\d*e?\-?\d*,?)+\))+/g)) {
var c = a[i].match(/[\w\.\-]+/g);
b[c.shift()] = c;
}
return b;
}
//serialize transform object back to an attribute string
function serializeTransform(transformObj) {
var transformStrings = [];
for (var attr in transformObj) {
transformStrings.push(attr + '(' + transformObj[attr].join(',') + ')');
}
return transformStrings.join(',');
}
Updated fiddle
これは完全に働きました。どうもありがとうございます! – yuka