我一直在使用Dojo图表来创建Columns图表。到目前为止,我对它印象非常深刻,但我决定需要一个对数y轴。到目前为止看起来不支持这种情况,尽管我已经看到blog entry暗示它在某个时候有计划。
有人知道现在有可能吗?如果没有,那么我很高兴尝试自己编写增强功能,所以如果有人有从哪里开始的提示,他们将非常感激地收到。我怀疑这是实现新的Scale类型的情况,尽管我还没有花太多时间来挖掘源代码。
谢谢, 马丁。
答案 0 :(得分:3)
dojox.gfx仍然没有对数轴。
更新:一种方法是沿对数轴重新映射数据,并使用带有自定义标签的线性轴。例如:
// we will transform our 'x' to a decadic logarithmic scale
var LOG10 = Math.log(10);
var data = [...]; // my data of {x, y}
var transformedData = dojo.map(data, function(value){
return {
x: Math.log(value.x) / LOG10,
y: value.y // 'y' is unchanged
};
});
// ...
// add the axis and the data
chart.addAxis("x", {
natural: true,
includeZero: true,
// our logarithmic labels
labels: [
{value: 0, text: "1"},
{value: 1, text: "10"},
{value: 2, text: "100"},
{value: 3, text: "1000"},
{value: 4, text: "10^4"},
{value: 5, text: "10^5"},
{value: 6, text: "10^6"},
{value: 7, text: "10^7"},
{value: 8, text: "10^8"},
{value: 9, text: "10^9"}
]
});
chart.addSeries("my data", transformedData);
// ...
这样的事情可以解决问题。另一种选择是使用标签功能自动生成“对数”标签。