Graphbuilder:サイドバイサイドバーこんにちは、
スケールが異なる2つのY軸を持つグラフがあります。
バーのスタイルは「サイドバイサイド」ですが、それらは一緒に集まっているようです。
グラフに表示するサンプルを少なくして、バーが少なくなるようにしましたが、うまくいきませんでした。
それらを並べて作り、一緒に散らかさない方法のアイデアはありますか?
宜しくお願いします


再:グラフビルダー:サイドバイサイドバーこんにちは @helmon 、
これは奇妙な出力です。使用しているJMPのバージョンは何ですか?それは過去のバグかもしれません。14.1.0では、この問題は発生していないようです。ただし、グループXやグループYの情報など、さまざまなものをグラフ化しようとしているようです。これが理由である可能性があります。グループX / Yを行う必要がありますか?代わりにローカルデータフィルターを挿入できますか?
TitanicPassenger.jmpファイルを使用して同様の種類の出力を生成しようとしましたが、棒グラフを「横に並べて」から「入れ子に」に具体的に変更しない限り、常に横に並べて表示しました。
データテーブルを共有できますか?機密情報が共有されないように匿名化できます。
グラフ化するデータの種類(名義/連続)のコンテキストをさらに提供できる場合、これが役立つ可能性があります。
お役に立てれば!、
DS
再:グラフビルダー:サイドバイサイドバーこんにちは!
14.1.0を使用しています。
サポートチームに連絡しましたが、ワンクリックで修正することはできませんでした。
私が得た答えは次のとおりです(A、B、C(%)の3つの列がありました)
---
[テーブル]-> [スタック]をクリックします
B(%)、A(%)、C(%)を選択し、[列のスタック]をクリックします。
Stacked Data Column Data Leftという名前を付けましたが、これはオプションです。
次に、新しいデータセットを再フォーマットする必要があります
スタックから開くデータセットに、Data Rightという新しい列を作成します
値をデータ左からデータ右にコピーします
ここで、左側の軸にはA(%)の行のみを含め、右側の軸にはB(%)とC(%)のみを含めます
これを行うには、行->データフィルターを選択しました
次に、[ラベル]を選択して[追加]をクリックします
A(%)を選択
[データ右]列をクリックして[削除]を押すと、データ右からA(%)値が削除され、B(%)とC(%)のみが残ります。
データフィルターに戻る
今回は、B(%)とC(%)を選択します。
[データの左列]をクリックして[削除]を押すと、B(%)とC(%)の値が削除され、A(%)の値のみが残ります。
最後にグラフを作成します
[グラフ]-> [グラフビルダー]をクリックします。
データを左に、データを右にY軸にドラッグします
サンプル名をX軸にドラッグします
ラベルをオーバーレイにドラッグ
ポイントをバーに変更
Y軸を右クリックし、右に移動->データを右に選択します
---
しかし、これによりスクリプト作成が少し難しくなります(スクリプトを合理化して、データベースで使用できるようにしています)。
スクリプトは、新しいデータセットが表示されたときにのみ見つけることができます。
Data Table( "Test for JMP" ) << Stack(
columns( :Name( "B (%)" ), :Name( "A (%)" ), :Name( "C (%)" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "Data Left" )
);
しかし、追加の手順(列とデータフィルターの追加)を実行すると、そのためのスクリプトが見つかりません。
グラフビルダーからスクリプトを取得するだけですが、それはグラフ専用です(その方法はありません)。
再:グラフビルダー:サイドバイサイドバーこんにちは @helmon 、
更新していただきありがとうございます。データベースからデータテーブルを再構築することは可能ですか?私は推測していませんが、それは今、人生をより困難にしているものの一部である可能性があります。他の人からデータを取得するとき、多くの場合、ExcelソースからJMPの操作に適したものにデータを再構築するのに時間がかかります。
とにかく、私はあなたの説明に従ってAirlineDelay.jmpファイルでこれをテストしました。次のスクリプトを使用して、次の出力を取得できました。

スクリプトは非常に短く、赤いホットボタンをクリックしてスクリプトを表示することで、ほとんどのスクリプトを取得できました。最も効率的な方法で数式を実行する方法について少し調べなければなりませんでしたが、それほど長くはかかりませんでした。以下のスクリプトを変更して、データに必要な出力を取得できるはずです。
Names Default to here (1);
Data Table( "AirlineDelays" ) << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);
Current Data Table() << Set Name("Stackeddt");
Data Table( "Stackeddt" ) << New Column("Distance", Numeric, "Continuous", Formula(Match( :Label, "Distance", :Data )));//this copies over only the distance data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Data Table( "Stackeddt" ) << New Column("Delay & Time", Numeric, "Continuous", Formula(Match( :Label, "Arrival Delay", :Data, "Elapsed Time", :Data )));//This copies over both the delay and time data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Variables(
X( :Airline ),
Y( :Distance, Side( "Right" ) ),
Y( :Name( "Delay & Time" ), Position( 1 ) ),
Overlay( :Label )
),
Elements( Bar( X, Y( 2 ), Legend( 4 ) ), Bar( X, Y( 1 ), Legend( 5 ) ) )
);お役に立てれば!、
DS