D3でチャートを作成しました。それは動作しますが、私は軸スケーリングの能力を追加したいと思います。選択したデータに基づいてY軸の範囲を変更します
私は、全く異なる範囲を持ついくつかのデータセットを持っています。 私はY軸の範囲を選択されたシリーズに従って変更したいと思います。
これは全体のコードである:リンクされた例では、4シリーズを持っている現時点ではhttps://plnkr.co/edit/89ERO3GuxREvYQ3DRX5L?p=preview
:私は、例えば、ユーザが「キウイ」と「アップル」を選択した場合、次にY軸が範囲たことを希望[0 -1]ではなく[0-15](またはそのようなもの)でなければなりません。 重要なことは、選択したデータに応じて範囲が変更されることです。
私が意味する例は、http://bl.ocks.org/andrewleith/3824854です。
これを行うには、不透明度が0.5または1(可視線)のタグを配列に保存してから、ドメインYを変更すると思います。 私は配列を作成しましたが、このように(簡略化のため)不透明度0.5とタグ:
var actives = new Array();
var activeElem = d3.select(".line").attr("opacity", 0.5);
console.log(activeElem);
又は
var actives = new Array();
var activeElem = d3.selection.style({opacity: "0.5"});
console.log(activeElem);
又は
var actives = new Array();
var activeElem = d3.selectAll("path[opacity='0.5']");
console.log(activeElem);
これらの作品はありません。 私も他のテストをしましたが、何が覚えておらず、まだ動作しませんでした。 私は狂ってしまいます。
不透明度0.5と1の項目を選択し、選択したデータに基づいてY軸を変更する正しい方法は何ですか?
は、ここでの主な問題は、あなたが最小とあなたのデータの最大値の別の計算を行い、その後最小値と最大値で新しいドメインを使用してy軸を更新する必要があるということです
おかげで、コードは大きく変わっています。私はそれをよく理解しようとします。本当にありがとう! – four
私は古いコードを取って、それを 'pathDashed'関数に挿入する点線の部分を追加しようとしました。 結果はhttps://plnkr.co/edit/r59QLTuQbpK60cdYMpHA?p=previewです。 コードは機能しません。* script.js:249 Uncaught TypeError:未定義*のプロパティ 'values'を読み取ることができません。 申し訳ありませんが、私があなたのコードを見て検査したとしても、正しい方法で変更することはできません。私を助けることができますか?ありがとうございました – four
更新された回答を確認してください。 – torresomar