ヒストグラムに垂直線を追加するグラフビルダーを使用してヒストグラムを作成しました。スクリプトを調整して、ヒストグラムにオーバーレイされた選択した値に垂直線を追加したいと思います。
スクリプティングRe:ヒストグラムに垂直線を追加するここにいくつかのオプションがあります。 1つ目は、最初にJMPにスクリプトを作成させてから、 Eval Insert、Eval Expr、Parse、およびSubstituteを使用して、ある式を別の式に挿入します2つ目は、RefLineを検索して見つかったScriptingIndexの例から変更されたものです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ref_line = 180;
// Option1
Eval(EvalExpr(gb1 = dt << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(:weight)),
Elements(Histogram(X, Legend(3))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Min(57), Max(205.037037037037), Inc(20), Minor Ticks(0),
Add Ref Line(Expr(ref_line), "Solid", "Black", "", 1)}
)
)
)));
// Option2
gb2 = dt << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(:weight)),
Elements(Histogram(X, Legend(3)))
);
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, "F mean", 2);Re:ヒストグラムに垂直線を追加するこれは接線方向に関連していますが、とにかくここに置きます。これは特に配布プラットフォームに関連しています(元の質問にあったグラフビルダーではありません)が、ユーザーの好みによっては他のプラットフォームに適用される可能性があります。よくわかりません。グラフビルダーで問題になるとは思わないでしょう。主な理由は、ユーザーの好みがあまり関係していないと思うからです。
分布プラットフォームでは、確率、密度、および表示カウントの軸が表示されるように設定されていない場合、分布のデータの軸ボックスのインデックスは1です。つまり、report(xxxx)[で参照できます。 AxisBox(1)]、上記のJarmoの投稿と同様です。ただし、他の軸のいずれかを追加すると、インデックスは2、3、または4になります(表示される合計軸の最大値。常に同じ設定を使用している場合は、ハードコーディングでき、問題ないはずです。 ただし、スクリプトが広く展開されている場合は、他のユーザー設定を考慮する必要があります。 「アイテムをゲット」してみましたが、空っぽだったのにいつも4が返ってきたと思います。 おそらくそこで回避策を見つけることができたかもしれませんが、結局xpathを使用することになりました。xmlを確認するか、出力レポートのプロパティを確認して、何が機能するかを確認できます。 つまり、軸ボックスが4つある可能性があるため、単に軸ボックスを探すのではなく、「主」軸に固有のように見えるドロップボックスの境界ボックスで軸ボックスを探します。 うまくいけば、これは時の試練に耐えますが、これまでのところうまくいきました。
myrpt = current report();
//show( myrpt<<GET xml=""></GET>// use xpList[1] instead of referencing an axisbox index. <BR />// If there's multiple distributions in the report, loop through or be more specific when grabbing the xpath.
Re:ヒストグラムに垂直線を追加する場合によっては、これらを少しずつ作成する必要があります。 通常、私はXPathを<<子、<< sib、<<親などの組み合わせで使用します...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Prob Axis(1),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Count Axis(1),
Prob Axis(1),
Density Axis(1),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
1つのオプションは、ユーザー設定の影響を取り除くことでもありますが、プラットフォームによっては、すべてのデフォルト値を1または0に設定するのに多大な労力がかかる場合があります。
Re:ヒストグラムに垂直線を追加する>> 1つのオプションは、ユーザー設定の影響を取り除くことでもありますが、プラットフォームによっては、すべてのデフォルト値を1または0に設定するのに多大な労力がかかる場合があります。
はい私は同意する。 一部のスクリプトでそのようなことを行うことを考えましたが、実際には、このサンプルコードの元となった特定のスクリプトは、出力ウィンドウのすべての分布をループし、ヒストグラムのビンを小さくして「通常」に見えるように設計されています。 実際には出力を作成せず、軸を変更するだけの一般的なワンボタンスクリプトです。
Re:ヒストグラムに垂直線を追加する別のオプションとして、列プロパティの仕様制限を追加し、それを配布プラットフォームのヒストグラムに表示させることができます。
この値は、他のプラットフォームにも使用できます(プロセス機能...)。
