1
我有不同的數據,這意味着有些數據看起來更具可讀性,而其他數據則需要對數刻度。amcharts對數刻度切換
我想畫一個堆棧區域圖,通過下面的代碼
AmCharts.makeChart("amchart-metrics-history-"+tag_id, {
"type": "serial",
"theme": "dark",
"titles": [{
"text": "Tag Metrics",
"size": 15
}],
"pathToImages": "/static/img/amcharts/",
"legend": {
"equalWidths": true,
"periodValueText": "",
"position": "bottom",
"valueAlign": "left",
"valueWidth": 100
},
"dataProvider": data.data,
"dataDateFormat": "YYYY-MM-DD HH:NN:SS",
"graphs": [{
"fillAlphas": 0.6,
"lineAlpha": 0.4,
"title": "Malware",
"valueField": "malware_count",
"color": "#fff"
}, {
"fillAlphas": 0.6,
"lineAlpha": 0.4,
"title": "Benign",
"valueField": "benign_count"
}, {
"fillAlphas": 0.6,
"lineAlpha": 0.4,
"title": "Grayware",
"valueField": "grayware_count"
}],
"valueAxes": [{
"stackType": "regular",
"title": "Sample Count"
}],
"plotAreaBorderAlpha": 0,
"marginTop": 10,
"marginLeft": 0,
"marginRight":30,
"marginBottom": 0,
"chartScrollbar": {},
"chartCursor": {
"cursorAlpha": 0
},
// X-Axis values
"categoryField": "time",
"categoryAxis": {
"parseDates": true,
//"startOnAxis": true,
//"axisColor": "#DADADA",
//"gridAlpha": 0.07,
"title": "Date",
"minPeriod": "mm",
},
"export": {
"enabled": false
},
"zoomControl": {
"zoomControlEnabled": true,
},
// Y-Axis specific
"valueAxes": [{
"logarithmic": true,
}]
});
我試圖做到的是重繪一次我切換Y比例。我一直在嘗試使用以下內容
$("#scale_change_"+tag_id).change(function() {
if ($(this).is(":checked")) {
am_chart.valueAxes[0].logarithmic = true;
} else {
am_chart.valueAxes[0].logarithmic = false;
}
am_chart.validateData();
});
這不起作用。有人可以闡明我應該做什麼,而不是切換規模,然後強制重繪?理想情況下,堆疊應該在尺度變化之間持續...
可以請你提供Jsfiddle嗎? –
https://jsfiddle.net/ake2uqqj/2/如果我將默認設置爲對數,它也會出現奇怪的現象。 – geudrik
https://jsfiddle.net/ake2uqqj/3/現在嘗試 –