現在、タイトルのリスト (x 軸) に対して数字のリスト (y 軸) をプロットしています。各番号は、複数の Web サイトに対応できます。現在、d3 が提供する昇順関数を使用して並べ替えています。現在、番号またはタイトルのいずれかを選択できるドロップダウン メニューがあり、各オプションはそれぞれの選択で個別に並べ替えられます。しかし、タイトルでアルファベット順に並べ替え、それをアルファベット順に保ち、番号でも並べ替える方法があるかどうか疑問に思っていました。今のところ、どちらかしかできません。
例: 私のデータは次のように CSV に保存されます。
"id","name"
1,"youtube"
1,"google"
2,"google"
3,"nike"
4,"google"
それから私は使用します
d3.csv("csvTestFile.csv", function (dataset)
ファイルを読み込み、ID 番号を int に変換します。
並べ替えるには、次のようにします。
data.sort(function(a, b) { return d3.ascending(a.id, b.id)});
IDでソートします。名前で並べ替えるには、次のようにします。
data.sort(function(a, b) { return d3.ascending(a.name, b.name)});
これらは両方とも適切に機能しますが、最初に ID で並べ替え、次に名前で並べ替えたいと思います。したがって、軸は (原点から開始して) 1、2、3、4 を y 軸の上に表示し、google、nike、youtube を x 軸の下に表示します。今、並べ替えようとすると、y 軸までは 1、2、3、4 になり、x 軸は youtube、google、nike の下、または x 軸は 1、2 の google、youtube、nike になります。 、4、3 y 軸を上に。
私が欲しいのは、y軸の上に1、2、3、4(数値でソート)と、x軸の下にグーグル、ナイキ、ユーチューブ(アルファベット順にソート)を同時に表示することです。これが散布図であることを考えると、軸の目盛りを再配置するようなものになるはずですが、どうやってそれを行うのかよくわかりません。