<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ご挨拶。
条件に応じてセグメント内でプログラムの塗りつぶしの色が異なるガント チャートを作成しようとしています。 議論の目的でいくつかのダミー データを作成し、視覚的な例を添付しました。 3 つのプロジェクトがあり、時間の経過とともに人員配置のニーズが変化し (プロジェクトごとに異なる時間)、バーの塗りつぶしの色で人員配置の情報が低、中、高のいずれかを表すようにしたいとします。
| ヘッダー 1 | 時間 1 | 人員配置 1 | 時間 2 | 人員配置 2 | 時間 3 | 人員配置 3 |
|---|
| プロジェクト1 | 1月~2月 | 低い | 3月~8月 | 高い | 9月~12月 | 中 |
| プロジェクト 2 | 1月~6月 | 中 | 7月~10月 | 低い | 11月~12月 | 中 |
| プロジェクト 3 | 1月~4月 | 中 | 5月~7月 | 中 | 7月~12月 | 高い |
ガント チャート アドインを見つけて試してみましたが、それは私のニーズには適していませんが、Graph Builder を使用して何かを作成する際の出発点として使用しました。 日付を使用して、時間に基づいて特定のプロジェクトのさまざまなバーを作成できるようになりました。 しかし現在、塗りつぶしの色は期間の関数であるため、時間 1 はすべて同じであり、時間 2 はすべて同じであり、時間 3 はすべて同じです。
塗りつぶしの色の凡例モデル プロパティで条件ステートメントを使用できますか? 1、2、3 はそれぞれ低、中、高であり、モデル参照 5 は時間 1 の境界にリンクされており、基本的に次のようなものです...
Legend Model( 5, Level Name( 0, "Time 1" ), Properties( 0, if (Staffing 1 = 1,{Fill Color( 57 )}, Staffing 1 = 2, {Fill Color( 47)}, Staffing 1 = 3, {Fill Color( 37)}, ) )理想的には、マイルストーンのマーカーも追加したいのですが、それが実現可能かどうかはわかりません. おそらくこれをより簡単に実行できるツールは他にもありますが、誰かが Excel の例を示した後に JMP について尋ねたので、ここにいます。
ありがとう。
助けてくれてありがとうジム。
私はそれを機能させるためにいくつかのものをJSLできるかどうか見ていきます。
私が示した図は、ガント アドインを使用して、必要な複雑さのチャートを生成するために、最終的なデータ テーブルがどのように見える必要があるかを示していました。それを元に戻すと、最初のテーブルがどのように見えるかというと、必要な仕様を示す列を含むデータ テーブルを想像できます。次に、jsl がその入力を受け取り、舞台裏でデータ テーブルとグラフ ビルダー スクリプトを使用して出力を生成します。
データ テーブルと静的グラフ ビルダー スクリプトを組み合わせて目的の結果を生成するソリューションがあるとは思えません。入力を解釈し、ニーズを満たす新しいデータ テーブルとグラフ ビルダー スクリプトを生成するには、jsl が必要です。
ジム、
返信ありがとうございます。 私はすでにその趣旨で働いているものを持っています。
私の問題は少し異なります。 したがって、ガントの例を使用して、別の列の関数として完全な塗りつぶしの色を変更したいと考えていました。 基本的に、バーのサイズを時間の関数として定義する列と、色を定義する列があります。 したがって、完了の濃い青は、他のデータによって駆動されます-人員配置レベルのようなものである可能性があります-要件は緑、設計は完了および未完了のセクションの黄色と赤などです。それが私が抱えている問題です.
ありがとう。
簡単な答えはイエスです:

ただし、グラフ ビルダーとデータ テーブルがより複雑になります。ガント チャート アドインを構造モデルとして使用する場合は、新しい列を追加して、必要な塗りつぶしパターンの種類ごとに新しい最終データを含める必要があります。次に、グラフ ビルダーのグラフを変更して、新しいカテゴリ用に作成されたデータ テーブルの新しい列に、正しい開始列に範囲が設定された新しいバーを追加する必要があります。以下は、新しい塗りつぶしパターンを 1 つだけ使用したグラフ ビルダーのコードです。塗りつぶしパターンを変更しましたが、別の色の単色パターンにすることも簡単にできました。
Graph Builder(
Size( 907, 626 ),
Show Control Panel( 0 ),
Variables(
X( :Start Date ),
X( :donedate, Position( 1 ) ),
X( :End Date, Position( 1 ) ),
X( :Extended Date, Position( 1 ) ),
Y( :Task, Order By( :Start Date, Descending, Order Statistic( "Mean" ) ) )
),
Elements(
Bar( X( 1 ), X( 3 ), Y, Legend( 32 ), Bar Style( "Range" ) ),
Bar( X( 1 ), X( 2 ), Y, Legend( 20 ), Bar Style( "Range" ) ),
Bar( X( 1 ), X( 4 ), Y, Legend( 44 ), Bar Style( "Range" ) )
),
SendToReport(
Dispatch(
{},
"Start Date",
ScaleBox,
{Min( 3442521600 ), Max( 3487017600 ), Interval( "Month" ), Inc( 1 ),
Minor Ticks( 0 ), Label Row( Label Orientation( "Angled" ) )}
),
Dispatch(
{},
"Task",
ScaleBox,
{Label Row(
{Show Major Ticks( 0 ), Set Font( "Tahoma" ), Set Font Size( 11 )}
)}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
32,
Level Name( 0, "Incomplete" ),
Properties( 0, {Fill Color( 77 )} )
), Legend Model(
20,
Level Name( 0, "Complete" ),
Properties( 0, {Fill Color( 53 )} )
), Legend Model(
44,
Properties( 0, {Fill Color( 74 ), Fill Pattern( "hatch heavy" )} )
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Gantt Chart" )} ),
Dispatch( {}, "X title", TextEditBox, {Set Text( "Date" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Tasks" )} )
)
);
これは、新しいバー カテゴリを許可するために必要な変更を加えたデータ テーブルです。Extended Date という新しい列に注目してください。私が提案しているモデルでは、Extended Date のような追加の列を追加する必要があります。
