質問

私は Dojo グラフ作成を使用して縦棒グラフを作成しています。これまでのところ非常に感銘を受けていますが、対数 y 軸が必要であると判断しました。これは今のところサポートされていないようですが、 ブログの記事 ある時点で計画されていたことを暗示します。

現時点でそれが可能であることを知っている人はいますか?そうでない場合は、喜んで自分で拡張機能を作成してみます。どこから始めればよいかに関するヒントをお持ちの方がいらっしゃいましたら、ぜひお知らせください。新しい Scale タイプを実装する場合だと思われますが、まだソースを詳しく調べることにあまり時間を費やしていません。

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

役に立ちましたか?

解決

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 つのオプションは、ラベル付け機能を使用して「対数」ラベルを自動的に生成することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top