H リスト ボックスのグラフ ビルダーに垂直線を追加するこんにちは、
複数のグラフを一つのプロットにまとめ、グラフビルダーとVリストボックス、Hリストボックスを併用したいと思っています。プロットに縦線を追加したいのですが、 @jthiの例を見つけたのですが、プロットが複数になるとすぐに問題が発生してしまいます。
以下の例は単一のプロットでは動作しますが、2つ目のプロットのコメントを解除すると、プロット間に軸が追加されます(下記参照)。どうすれば修正できますか?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//gender_list = {"F", "M" };
gender_list = {"F"};
For( i = 1, i < N Items( gender_list ) + 1, i++,
gender = gender_list[i];
dt_gender = dt << Subset(
Filtered Rows( :sex == gender ),
Include All Columns//Name :sex
);
Match ( gender,
"F", data = Column ("height"),
"M", data = Column ("weight")
);
Match ( gender,
"F", ref_line = 60,
"M", ref_line = 100
);
plot = New Window ( gender,
H List Box(
gb1 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb1)[AxisBox(1)],
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2),
/*gb2 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
), */
//axisbox = Report(gb2)[AxisBox(1)],
//axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2),
),
);
);
自動化とスクリプトデータの探索と可視化Re: H リストボックスのグラフビルダーに垂直線を追加する新しいウィンドウでは、異なる表示オブジェクトをコンマで区切ってリストできます。
gb = graph Box ();
new window("test",
Text Box ("Hello"),
gb [Axis Box (2)]
)
テキスト ボックスと軸ボックスを含む新しいウィンドウを作成します。
このリストにコマンドを追加する場合は、コマンドを「;」で閉じる必要があります。
あなたの場合は次のとおりです:
もっと見る...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//gender_list = {"F", "M" };
gender_list = {"F"};
For( i = 1, i < N Items( gender_list ) + 1, i++,
gender = gender_list[i];
dt_gender = dt << Subset(
Filtered Rows( :sex == gender ),
Include All Columns//Name :sex
);
Match ( gender,
"F", data = Column ("height"),
"M", data = Column ("weight")
);
Match ( gender,
"F", ref_line = 60,
"M", ref_line = 100
);
plot = New Window ( gender,
H List Box(
gb1 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb1)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2);
gb2 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2);
),
);
);
.
Re: H リストボックスのグラフビルダーに垂直線を追加するスクリーンショットを追加しようとしましたが、コミュニティでコピー/貼り付けがまだ機能していないようです
@Ryan_Gilmore さん?
Re: H リストボックスのグラフビルダーに垂直線を追加する参照行を追加するコードを新しいウィンドウの外に移動することをお勧めします。これは、(私の意見では)更新や変更が簡単になるためです(hogi の提案に従うこともできます)。
これが私がこれをどのように書くかについての最初のアイデアです(これらはすべて基本的なテクニックではありませんが、何ができるかについていくつかのアイデアを与えることができます)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
plot_width = 400;
plot_height = 300;
aa_genders = Associative Array();
aa_genders["F"] = ["data" => "height", "ref_line" => 60];
aa_genders["M"] = ["data" => "weight", "ref_line" => 100];
For Each({{cur_gender, specs}}, aa_genders,
dt_gender = dt << Subset(
Filtered Rows(:sex == cur_gender),
Include All Columns,
Invisible
);
hlb = H List Box(
gb1 = dt_gender << Graph Builder(
Size(plot_width, plot_height),
Show Control Panel(0),
Variables(X(Eval(specs["data"]))),
Elements(Histogram(X, Legend(3)))
),
gb2 = dt_gender << Graph Builder(
Size(plot_width, plot_height),
Show Control Panel(0),
Variables(X(Eval(specs["data"]))),
Elements(Histogram(X, Legend(3)))
)
);
axisbox = Report(gb1)[AxisBox(1)];
axisbox << Add Ref Line(specs["ref_line"], "Dotted", red, cur_gender, 2);
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(specs["ref_line"], "Dotted", red, cur_gender, 2);
aa_genders[cur_gender]["dt"] = dt_gender;
aa_genders[cur_gender]["report"] = New Window(cur_gender,
hlb
);
);