1

私のデータには正しくレンダリングされた2つの曲線が含まれていますが、2番目の色付きのドットとテキストが最初のテキストと部分的に重なるように、凡例が重なっています。いずれかのドットをクリックして曲線を非表示にすると、オーバーラップはすぐに解決され、戻りません。

以下のコード。1ページにこれらが複数あります。xAxisの線を省略すると、明らかな接続はありませんが、問題は解決します。

d3.json('project_x_data.json', function(data) {
  nv.addGraph(function() {
  var chart = nv.models.lineChart()
                  .x(function(d) { return d[0] })
                  .y(function(d) { return d[1] })
                  .clipEdge(true);

  chart.xAxis.axisLabel('').tickFormat(function(d){
    return d3.time.format('%d/%m/%y')(new Date(d*1000)) });

  d3.select('#chart-project_x_data svg').datum(data)
    .call(chart);

  nv.utils.windowResize(chart.update);
  return chart;
  });
});

バージョン::ブラウザ:Firefox、Chrome、UbuntuおよびOSX。最新のnovus/nvd3での同じ動作、およびAdvaelの現在のマージ。

編集...

チャートは、ページの読み込み時にデフォルトで表示されないブートストラップタブに含まれています。タブが選択されている(グラフが表示されている)ときにブラウザウィンドウのサイズを変更すると、凡例が自動的に修正されます。タブが選択されていない(グラフが非表示になっている)ときにブラウザウィンドウのサイズを変更してからタブ選択すると、凡例が修正されません。チャートはすっごくシンプルなので、チャートが非表示の状態でレンダリングが行われることが問題のようです。

これは何か考えを引き起こすのに役立ちますか?

4

1 に答える 1

0

これはもう問題ではありません。

タブが表示されたときにのみ、Ajaxを使用してグラフをレンダリングするようになりました。これは、結果の信頼性と再現性を高めるのに十分です。

于 2013-04-14T10:46:06.710 に答える