3

私はDojoチャートを使用して列チャートを作成してきました。これまでのところ非常に感銘を受けていますが、対数のy軸が必要であると判断しました。これは今のところサポートされているようには見えませんが、ある時点で計画されたことを示唆するブログエントリを見ました。

現時点でそれが可能であることを誰かが知っていますか?そうでない場合は、自分で拡張機能を書いてみてください。どこから始めればよいかについて誰かがヒントを持っていれば、喜んで受け取られます。私はまだソースを掘り下げるのに多くの時間を費やしていませんが、それは新しいスケールタイプを実装する場合だと思います。

ありがとう、マーティン。

4

1 に答える 1

3

dojox.gfxにはまだ対数軸がありません。

更新:これを行う1つの方法は、対数軸に沿ってデータを再マップし、カスタムラベルで線形軸を使用することです。例えば:

// 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);

// ...

そのような何かがトリックを行います。もう1つのオプションは、ラベリング機能を使用して「対数」ラベルを自動的に生成することです。

于 2010-01-12T16:40:38.233 に答える