在AmCharts v3中,XY图表在对数刻度上无法工作是一个已知的问题。但是,可以通过使用自定义的轴标签和值来解决这个问题。下面是一个使用对数刻度的AmCharts v3 XY图表的代码示例:
var chart = AmCharts.makeChart("chartdiv", {
"type": "xy",
"path": "amcharts",
"dataProvider": [{
"x": 1,
"y": 10
}, {
"x": 2,
"y": 100
}, {
"x": 3,
"y": 1000
}],
"valueAxes": [{
"position": "bottom",
"title": "X轴",
"logarithmic": true,
"base": 10, // 设置对数刻度的底数为10
"labelsEnabled": false, // 禁用默认的刻度标签
"guides": [{ // 添加自定义的刻度标签
"label": "1",
"position": 1
}, {
"label": "10",
"position": 10
}, {
"label": "100",
"position": 100
}, {
"label": "1000",
"position": 1000
}]
}, {
"position": "left",
"title": "Y轴"
}],
"graphs": [{
"lineAlpha": 1,
"xField": "x",
"yField": "y",
"bullet": "circle",
"bulletSize": 8
}]
});
在上面的代码中,我们首先将logarithmic属性设置为true,并将base属性设置为10,以使用对数刻度。然后禁用默认的刻度标签,并使用guides属性添加自定义的刻度标签。
请注意,这只是一个解决方法,可以根据具体需求进行调整和优化。