C3: x、y軸のみの整数

作成日 2014年10月15日  ·  9コメント  ·  ソース: c3js/c3

軸の目盛りを整数のみにする方法は?
qq 20141015141217

私が試したのは、ティックオプションを使用することです。

tick: {
    format: function(x) {
        return (x == Math.floor(x)) ? x : "";
    }
}

これにより、ラベルに整数のみを表示できますが、軸上の分割線は引き続き存在します。
qq 20141015141829

軸ティックを制御する方法はありますか?

question resolved maybe

最も参考になるコメント

より良いバージョン:

    axis: {
        y: {
            tick: {
                format: function(x) { return x % 1 === 0 ? x : ''; }
            }
        }
    }

全てのコメント9件

現在の開発バージョン(マスター)では、 axis.y.valuesを使用してティックのリストを設定できます。 例えば

{
  axis: {
    y: {
      ticks: [1,2,3]
    }
  }
}

しかし、これはデータソースに基づいて動的にすることはできませんよね?

あなたは、データのロード後にそれらの値を計算し、それを設定することができますchart.internal.config.axis_y_tick_values 、次に呼び出すchart.flush()新しい軸の値を適用します。

このコードはどうですか?

    axis: {
        y: {
            tick: {
                format: function (x) {
                    if (x != Math.floor(x)) {
                      var tick = d3.selectAll('.c3-axis-y g.tick').filter(function () {
                        var text = d3.select(this).select('text').text();
                        return +text === x;
                      }).style('opacity', 0);
                      return '';
                    }
                    return x;
                }
            }
        }
    }

すでに解決しているようですので、閉じさせてください。

FWIW、D3の内部を知り、JSを実行する必要があるのは本当に奇妙に思えます。 これらのC3の問題には、そのパターンがよく見られます。誰かに問題があり、C3オプションを提供する代わりに、基礎となるSVGをd3で操作する5〜30行のJavaScriptが受け入れられた解決策です。 長期的には、それはC3の採用に大きな悪影響を与えると思います。

特にこの問題の場合、「axis.y.tick.integer_only」オプションは非常に価値があります。 このためにC3の拡張機能を提供したいと思います。 ここに拡張機能の例があり

ありがとう!

編集:文法。

データの読み込み後にこれらの値を計算し、chart.internal.config.axis_y_tick_valuesに設定してから、chart.flush()を呼び出して新しい軸の値を適用できます。

これを参照すると、今日もこの問題が発生したため、 flush()すると、データ変更のアニメーションが台無しになり、遅延を追加すると、グラフィックの不具合も発生します。 ただし、 load()呼び出す前にchart.internal.config.axis_y_tick_valuesを適切な値に設定すると、完全に機能します。 多分これは誰かのために役立つでしょう:)。

より良いバージョン:

    axis: {
        y: {
            tick: {
                format: function(x) { return x % 1 === 0 ? x : ''; }
            }
        }
    }

ありがとうnnabinh-御馳走を働いた。

このページは役に立ちましたか?
0 / 5 - 0 評価