18

この例に見られるような積み上げ面グラフの使用 http://nvd3.com/ghpages/stackedArea.html

y 軸の目盛りラベルとツールチップ ラベルを float ではなく整数にフォーマットしようとしています。から次のコードを変更しようとしました

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.2f'));

chart.yAxis
        .axisLabel('Users')
        .tickFormat(d3.format(',.0d'));

精度は変更されません (値は引き続き 100 分の 1 まで表示されます)。私は Github Wiki をフォローしましたが、役に立ちませんでしたhttps://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

提案やヒントは大歓迎です。

4

4 に答える 4

24

現時点では、これは nvd3 でサポートされていないようです。問題のある行を参照してください。

さらに、フォーマットの仕様が正しくありません。ドキュメントに記載されているように、"d"整数以外の値は無視されます。したがって、おそらく",.0f"代わりに必要になります。つまり、次のことを意味します。

  • ,: カンマを使用して千単位を区切ります。
  • .0:ゼロの精度(これの正確な意味は、使用されているによって異なります)。
  • f:タイプ; この場合、Number.toFixedです。これは、固定桁数 (精度) が小数点以下に表示され、必要に応じて数値が丸められることを意味します。
于 2012-07-25T23:44:03.870 に答える
3

私はこのように試しました

.axisLabel('%').tickFormat(function(d) { return parseFloat(d).toFixed(1) + "%"; });

小数点とパーセンテージで結果を取得しています。

于 2016-01-17T20:09:53.167 に答える
3

.tickFormatメソッドのメソッド.yAxisが正しく更新されません。これは私が使用した回避策です:

        chart.yAxisTickFormat(d3.format(',.0d'));
于 2015-02-11T09:29:08.687 に答える