JSL スクリプトから作成すると、線がより滑らかになります。誰か私がここで何を間違っているのか特定するのを手伝ってくれませんか
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(Y))),
Elements(Line(X, Y, Legend(3), Connection("Curve")), Points(X, Y, Legend(4)))
)
線がより滑らかになり、曲線接続ですべての点に接するようにしたいです。JMP のコンソールからグラフを作成し、問題なく動作しました。セッション スクリプトから JSL をコピーしましたが、JSL で実行すると、より滑らかになります。
もう 1 つ質問があります。スムーザーは連続した数値列に描画されます。これを名目値に変更すると何らかの影響が出るかもしれないと思いましたが、まったく作成されませんでした (線もスムーザーもなし)。名目値のタイプの数値列では線は機能しないのでしょうか?
自動化とスクリプト基本的なデータ分析とモデリングデータの探索と視覚化Re: JSL スクリプトから作成すると線がより滑らかになります。直線ではなく曲線接続を使用しているため、滑らかになります。また、行順序を有効にしない限り、同じ X 軸値に多くの値がある場合、すべてのポイントを接続できない可能性があります。
行順なし

行順(最初にデータを重量順に並べ替えました)

Re: JSL スクリプトから作成すると線がより滑らかになります。
これは、コード - を使用すると実現できることです。


しかし手動で行を追加すると

次に、接続を曲線に変更します



私は望んだことを達成します。私のすべての点に触れる曲線。
では、コードでこれをどのように実現できるでしょうか?
Re: JSL スクリプトから作成すると線がより滑らかになります。一部の列選択では「Smoother (with points)」がデフォルトになっているため、JMP がグラフにそれを使用している可能性があります。JMP が作成したスクリプトを「Smoother」バージョンから取得すると、どのように見えるでしょうか?
私にとってはこれで問題ないようです。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 89, 60, 50, 40, 20, 10]))
);
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Re: JSL スクリプトから作成すると線がより滑らかになります。これは私には効果がありません。
もう一度試してみました。
スムーザーを手動で作成しませんでした。ラインを作成し、それにポイントを追加して、曲線に変更しました。スクリプトをコピーしました (説明にあるものと同じ)。しかし、同じスクリプトがラインではなくスムーザーを作成しています。
Q: スクリプトを実行すると、コントロール パネルの左側に「ポイントとライン」と「ポイントとスムーザー」のどちらが表示されますか? 私の場合、ライン スクリプトを実行すると「ポイントとスムーザー」が表示されます。
コードにジグザグ形式で少しずつポイントを追加して、スクリプトを実行してみませんか?
Re: JSL スクリプトから作成すると線がより滑らかになります。どのバージョンの JMP を実行していますか? 私は 18.1.2 を実行しています。私のスクリプトを実行してみましたか? データ テーブルを提供できますか?
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 80, 90, 60, 70, 40, 30, 35, 20, 10]))
);
gb = dt << Graph Builder(
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Re: JSL スクリプトから作成すると線がより滑らかになります。私のJMPのバージョンは

列の名前を変更し、X と Y 以外の列も削除しました。これで問題が解決するかどうか確認してください。
Re: JSL スクリプトから作成すると線がより滑らかになります。大丈夫そうですか?

Names Default To Here(1);
dt = Open("$DOWNLOADS/data_jmp.jmp");
gb = dt << Graph Builder(
Variables(X(:X), Y(:Y)),
Elements(Line(X, Y, Legend(5), Connection("Curve")), Points(X, Y, Legend(6)))
);Re: JSL スクリプトから作成すると線がより滑らかになります。はい、私も個別には機能していますが、ループからは機能しないのはなぜですか:(何が問題なのでしょう。このスクリプトを一度確認してもらえますか?
createDashboard = Function({dtMaxF, dtMaxR, normMeanColsF, normMeanColsR, direction},
New Window(direction || " Dashboard",
Tab Box(
"Maximum Values",
V List Box(
For(i = 1, i <= N Items(normalizedColumns), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normalizedColumns[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
),
"Normalized Average Values",
V List Box(
For(i = 1, i <= N Items(normMeanColsF), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsF[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
),
For(i = 1, i <= N Items(normMeanColsR), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsR[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
)
)
)
);
createDashboard(
dtMaxForward, dtMaxReverse, normalizedMeanColumns, normalizedMeanColumns, "Analysis"
);Re: JSL スクリプトから作成すると線がより滑らかになります。関数内の dtMaxF、dtMaxR は何に使用されますか? normalizedColumns は関数のどこから来ますか?
Re: JSL スクリプトから作成すると線がより滑らかになります。dtMaxF、dtMaxRは無視してください(コードからこれを削除します)。分析用に完全なスクリプトを添付します。
Re: JSL スクリプトから作成すると線がより滑らかになります。非常に小さなものから始めてください。テーブルの作成が適切に機能している場合は、1 つのグラフのスクリプトから始めることができます。次に、異なるテーブルからのいくつかの異なるグラフに拡張します。プロット時にテーブル参照が欠落しているため、数式が期待どおりに動作しない可能性があります ( Eval Insert、Eval Expr、Parse、および Substitute を使用して、1 つの式を別の式に挿入します)。
Re: JSL スクリプトから作成すると線がより滑らかになります。わかりました。試してみます。うーん、今のところすべての数式は機能していますが、もう一度確認させてください