グラフビルダーでスケールを個別にロックする<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />グラフ ビルダーには、軸がデータの変更に応答しないようにスケールをロックするオプションがあります。 JSL では、スケールのロック機能を使用して同じことを行うことができます。 UI と JSL の両方で、スケールのロックは x 軸と y 軸の両方に影響します。 軸スケールを個別にロックする方法はありますか? グラフ ビルダーでグラフを生成するスクリプト (実際にはいくつか) がありますが、このスクリプトはデータ フィルター ウィンドウも開くので、クライアント向けに開発しているソフトウェアで行うのと同じようにグラフをフィルターできます。 JMP は、ソフトウェアのレポート機能を検証するために使用されています。 これらのグラフはすべて 24 時間期間 (一度に 1 日の午前 0 時から午前 0 時まで) を表示するように固定されていますが、y 軸はデータのスケールに適切に適応する必要があります。
デフォルトでアクティビティのない時間間隔にゼロを入力する当社のソフトウェアとは異なり、JMP はデータが存在するデータ ポイントのみを表示します。 つまり、ソフトウェアから出力されたイベント ログを使用し、ソフトウェアのレポートがイベント ログを使用して JMP で生成したものと一致していることを確認しています。 特定の時間にイベントが発生しなかった場合、その時点のイベント ログにはエントリがありません。より正確には、データをビン化するときに、データが存在しない時間間隔は作成されません。 このため、X 軸が利用可能なデータに基づいて時間範囲に合わせて拡大縮小されることがあります。 この動作は、JMP が作成したグラフとソフトウェアによって生成されたグラフを比較しようとするときに問題になります。
Re: グラフ ビルダーでスケールを個別にロックする列の Axis プロパティを設定することは、間違いなく私の問題を解決するように見えます。 に対する私の返答では、スティーブン・ピアソン対処する必要があった別の問題により、この問題は自動的に解決されましたが、列の Axis プロパティについての知識があれば間違いなく役立ちます。
Re: グラフ ビルダーでスケールを個別にロックする
stephen.pearson wrote:
One way you can do this would be to use the filter to exclude the undesired rows.
実際には、不要な行は存在しません。 この問題は、多くの場合、データ ポイントがタイム ビンよりも少ないために発生します。 データは 96 個の 15 分間隔にビン化されます。 テスト モデルでは、午前 6 時 30 分より前にシステムに到着する人はいません。 スクリプトがグラフを構築するとき、X 軸は午前 0 時から午前 0 時までに設定されるため、問題はありません。 問題は、フィルター パラメーターを変更すると、たとえばイベントが午前 6 時 45 分から午後 10 時 30 分までのみ発生した場所に変更すると、それらの時間が事実上 X 軸の両端になってしまうことです。
また、ユーザーがフィルター設定の変更を開始してさまざまな出力を確認できるようになると、スクリプトの実行が完了します。 私のスクリプトはアドインや JSL アプリではありません (まだそこまでは進んでいません)。そのため、グラフが初期フィルター条件でレンダリングされた後は実行を継続しません。 最終的には、テストしているソフトウェアのレポート内容と JMP のレポート内容の間の比較の問題を防ぐために、空のビンをゼロで埋め戻す必要がありました。 そのため、96 個の時間ビンすべてに常にデータが設定され、X 軸の変更の問題は自動的に解決されました。 そうは言っても、今後の仕事に向けて考慮すべき点をいくつか教えていただきました。
Re: グラフ ビルダーでスケールを個別にロックするグラフ ビルダー レポートをいじる代わりに、グラフ化する変数に「軸」プロパティを割り当てることもできます。
http://www.jmp.com/support/help/Expression_Data.shtml
Re: グラフ ビルダーでスケールを個別にロックするこれを行う 1 つの方法は、フィルターを使用して不要な行を除外することです。 Graph Builder() スクリプトに次のコードを含めると (時間列が連続していて x と呼ばれると仮定します)、望ましい効果が得られますが、フィルターが変更されるたびに更新するようにグラフ ビルダーを設定する必要があります。
SendToReport(
急送(
{}、
"バツ"、
スケールボックス、
{Min(col min(:x) )、Max(col min(:x)+86400 )、Interval( "Day" )、Inc( 1 )、Minor Ticks( 0 )}
)
)
x のすべての行が除外された場合に処理するために、to グラフ ビルダーの前に if ステートメントを含める必要がある場合もあります。
Re: グラフ ビルダーでスケールを個別にロックするうわー、私はみんなをつまずかせてしまったでしょうか? あるいは、これがディスカッションリストの中に紛れ込んでしまったのかもしれません。