1

SQLを介してデータをカンマ区切りでasp.netラベルに返します。x、y、cのデータを取得しています。3番目の変数を使用して、データが属するセットを教えています(複数のセットがあります)。さて、これらのセットは異なるドメインを持っているので、おもちゃの例を使用しましょう:

X = [1,0.5,0.75,0.8; 10,5,7.5,8; 100、50、75、80]

Y = [2,3,4,5; 20,30,40,50; 200、300、400、500]

C = [1,1,1,1; 2,2,2,2; 3,3,3,3]

ユーザーがドロップダウンからセットを選択すると、実行してそのセットのみが表示されるように設定しました

.attr("r", function (d) { if(d.c == $('#pick').val()) return 1; else return 0})

しかしもちろん、これらを示すための適切なスケールはまったく異なります!ドメインを決定する方法は、常に最大値を返します(Xの場合は100になります)

  var x = d3.scale.linear().domain([0, d3.max(datafiltered, function (d) { return parseInt(d.x) }) * 1.1]).range([0 + margin, w - margin]),

onclickイベントでこれをリセットする方法はありますか?

4

1 に答える 1

1

onclickハンドラーでスケール(xあなたの場合)を新しいもの(基本的にd3.scaleをインスタンス化する行を繰り返します)に置き換えてから、ビジュアライゼーションを再描画します。スケールを上書きする場合は、実際の視覚化コードを変更する必要はありません。

于 2012-05-23T16:17:30.813 に答える