ある年と別の年を比較して、以下のようなグラフを作成するように依頼されました。しかし、JMP (または正直なところ他のもの) でこれを行う方法がわかりません。誰か私を正しい方向に導くのを手伝ってくれませんか?

これを実現する 1 つの方法を次に示します。データテーブルが与えられた場合

グラフビルダーを使用して、グラフィックを追加して以下のグラフを作成しました。

以下は、上のグラフを生成した JSL です。
Names Default To Here( 1 );
dt = Data Table( "Example" );
gb = dt << Graph Builder(
Size( 648, 450 ),
Show Control Panel( 0 ),
Variables( X( :Month ), Y( :Value ) ),
Elements( Points( X, Y, Legend( 3 ), Error Interval( "Range" ) ) ),
SendToReport(
Dispatch(
{},
"Value",
ScaleBox,
{Min( -8.0923781757601 ), Max( 122.008163265306 ), Inc( 20 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties( 0, {Line Color( 16 )}, Item ID( "Value", 1 ) ),
Properties( -1, {Line Color( 16 )}, Item ID( "Jan", 1 ) ),
Properties( -1, {Line Color( 16 )}, Item ID( "Mean", 1 ) )
)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Previous 5-year average 2023" )}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "400", LegendBox, {Legend Position( {3, [-1, -3]} )} )
)
);
// Add the Circles and Lines
Report( gb )[FrameBox( 1 )] <<
Add Graphics Script(
For Each Row(
If( :Type == "High",
Fill Color( "Gray" );
theHigh = :Value;
theLow = :Value[Row() + 1];
Pen Color( "Gray" );
Pen Size( 4 );
X = Matrix( Floor( Row() / 2 ) ) || Matrix( Floor( Row() / 2 ) );
y = Matrix( theHigh ) || Matrix( theLow );
Line( X, Y );
theList = {};
Insert Into( theList, X[1] );
Insert Into( theList, Y[1] );
Circle( theList, 7, "Fill" );
,
Fill Color( "Red" );
theList = {};
Show( Floor( Row() - 1 ) );
Insert Into( theList, Floor( (Row() - 1) / 2 ) );
Insert Into( theList, :value );
Circle( theList, 7, "Fill" );
// Add the numerical value in the circle
Text Color( "White" );
// Subtract a fudge factor to better center the text
theList[2] = :Value - 3;
Text Font( "Segoe UI", 14, "Bold" );
Text( Center Justified, theList, Char( :Value ) );
)
)
);これはとても役に立ちます。 (ハイとローの代わりに) 1 年をやりたい場合はどうすればよいでしょうか?
こちらが私が使用しているデータファイルです。 2022 年と 2023 年の月ごと (ウイルスごとに 1 つずつ) を比較したいと考えています。
ここでは、スクリプトを必要とせずにかなり近づける別の方法を紹介します。

このスタイルのグラフを取得する 1 つの方法は、データを 2 つの列に分割してデータ テーブルを再形成し、それらの列を間隔ドロップゾーンで使用することです。このトリックは、 @scwiseの Pictures from the Gallery シリーズの 1 つから学びました。他のすべては、色の変更、注釈ボックスの追加、およびさまざまなグラフ要素の非表示です。
https://community.jmp.com/t5/Discovery-Summit-Europe-2022/Pictures-from-the-Gallery-7-Select-Advanced-Graph-Builder-Views/ta-p/446126
お役に立てれば!
@scott_allenメソッド (私のものよりもはるかに優れています) とデータを使用して、グラフ ビルダーを使用してこれらのグラフを対話的に作成しました。

あなたのデータに対して私がしなければならなかった唯一のことは、
- 2022 年と 2023 年のデータのみを保持してデータをサブセット化します。
- Tables=>Split を使用して、サブセット化されたデータ テーブルを分割します。
- 分割基準: 年
- 分割列: レート
- 「すべて保持」を選択します
新しい分割データ テーブルの使用

- 開いたグラフビルダー
- ウイルスごとに個別のグラフを作成するには、「ウイルス」を選択し、ページ ドロップ ゾーンにドラッグしました。
- 「Month」列を選択し、X 軸のドロップゾーンにドラッグしました。
- 列 2022 と 2023 の両方を選択し、Y 軸のドロップ ゾーンにドラッグします。
- 2 年の列を関連付けるには、2022 と 2023 を選択し、[間隔] ドロップ ゾーンにドラッグします。
- 凡例で青い点を右クリックし、「マーカー サイズ」を選択します。
- 「その他」を選択してください
- 40のタイプ
- 赤い点について手順 6 を繰り返します。
- ドットを右クリックして、好みの色に変更できます
最も重要なことは、[ヘルプ] プルダウン メニューにあるドキュメントを読むことです。
- JMPの発見
- JMPの使用
- 基本的なグラフ作成 (特にグラフ ビルダーに関するセクション)