PlotColBoxのバーを0から描画するちょっとコミュニティ、
私はXのフィットYでTukeyHSDで得られるようにレポートのテーブルボックスをまねようとしています、しかし私はPlotColBoxで描かれた棒グラフに関する問題に遭遇しています。 バーの長さは各バーの信頼区間とともにプロットされています。 私の問題は、信頼限界の下限が0を下回っている(重要ではない結果を示す)場所を視覚的に確認できるようにバーを原点から引くようにしたいが、バーはスケールの最小値から引かれている。 この動作を変更するためのスクリプトインデックスには、何も見つかりません。
最終的には、この順序付き差分レポートのプロットとよく似ているはずです。
これが私が得ているものです(ここに示されている最小の実例)
<< Set Scaleを使用してプロットの水平軸上の範囲を設定し、それが最小LCLおよび最大UCLに等しくなるように設定して、プロットがLCLおよびUCL値をすべて表示するのに十分な幅になるようにします。同じ最小値から始まって描画されます。
これは、最小限の動作例のスクリプトです。
diffs = {14.5833333333333, 13.25, 13.1666666666667, 12.4166666666667, 11.8333333333333,
11.75, 11, 10.4166666666667, 9.58333333333333, 2.83333333333333, 2.16666666666667,
1.41666666666667, 1.41666666666667, 1.33333333333333, 0.833333333333334};
lcls = {7.61907259396521, 8.36035077512539, 6.22561115938687, 7.05705972526408,
6.99299436545608, 4.7114849776621, 5.68093889133607, 5.37459986573576,
4.09680778320344, -0.348570126295593, -5.63501808685501, -1.64446371477212,
-1.1943038377427, -6.25265936207625, -5.48781669649702};
ucls = {21.5475940727015, 18.1396492248746, 20.1077221739465, 17.7762736080693,
16.6736723012106, 18.7885150223379, 16.3190611086639, 15.4587334675976,
15.0698588834632, 6.01523679296226, 9.96835142018835, 4.47779704810545,
4.02763717107603, 8.91932602874292, 7.15448336316369};
New Window("Results",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals[sort], Set Format(7, 97), Set Conditional Format("pValue")),
Plot Col Box("", diffs, Upper(matrix(ucls)), Lower(matrix(lcls)), Set Scale(min(lcl), max(ucl)))
)
);
助けてくれてありがとう!
再:0原点から描画するためにPlotColBoxのバーを強制する @cwillden これも動作します:
scl = evallist({min(lcls), max(ucls)});
New Window("Results",
OutlineBox("Custom Table",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals, Set Format(7, 97), Set Conditional Format("pValue")),
pcb = Plot Col Box("", scl )
)
)
);
pcb << add element(diffs);
pcb << delete row(2);
pcb << delete row(1);
pcb << lower(matrix(lcls));
pcb << upper(matrix(ucls));
再:0原点から描画するためにPlotColBoxのバーを強制するいい案!これを実際のスクリプトに取り入れてみましょうが、これは完全に機能すると思います。 ありがとうございます。
再:0原点から描画するためにPlotColBoxのバーを強制するこんにちはキャメロン、これはうまくいくようです:
- ダミー値でサイズを固定する
- ダミーを取り除きます。
Names Default to Here(1);
diffs = {14.5833333333333, 13.25, 13.1666666666667, 12.4166666666667, 11.8333333333333,
11.75, 11, 10.4166666666667, 9.58333333333333, 2.83333333333333, 2.16666666666667,
1.41666666666667, 1.41666666666667, 1.33333333333333, 0.833333333333334};
lcls = {7.61907259396521, 8.36035077512539, 6.22561115938687, 7.05705972526408,
6.99299436545608, 4.7114849776621, 5.68093889133607, 5.37459986573576,
4.09680778320344, -0.348570126295593, -5.63501808685501, -1.64446371477212,
-1.1943038377427, -6.25265936207625, -5.48781669649702};
ucls = {21.5475940727015, 18.1396492248746, 20.1077221739465, 17.7762736080693,
16.6736723012106, 18.7885150223379, 16.3190611086639, 15.4587334675976,
15.0698588834632, 6.01523679296226, 9.96835142018835, 4.47779704810545,
4.02763717107603, 8.91932602874292, 7.15448336316369};
p_vals = {.00001, .00002, .00003, .00004, .00005, .0003, .00006, .00007, .0001, .0557,
.9247, .6006, .4466, .9888, .9972
};
ndiffs = Insert(diffs, eval List({min(lcls), max(ucls)} ) );
New Window("Results",
OutlineBox("Custom Table",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals, Set Format(7, 97), Set Conditional Format("pValue")),
pcb = Plot Col Box("", ndiffs)
)
)
);
nr = nitems(ucls);
pcb << delete row(nr+2);
pcb << delete row(nr+1);
pcb <<LOWER></LOWER>
