空白の行と列を除外するためのデータグリッドボックスのサイズ変更こんにちは、
データテーブルの入力されたセルだけのスナップショットを撮る方法を見つけようとしています(つまり、サイドパネルなし、一番下の空白行または右側の空白列)。
私は最近Data Grid Boxディスプレイボックスを発見しました。これで自分のやりたいことがほぼ可能になります。ただし、セルのグリッドがいっぱいになるようにサイズを変更する方法が必要です。私はこれを試行錯誤によって手動で行うことができますが、それは自動的に行いたいのです。
これは可能ですか?私がやろうとしていることを説明するサンプルスクリプトの下に同封します。
どうもありがとう
//プログラムの開始
デフォルトはここにあります(1)。
dt = Open( "$ SAMPLE_DATA / Popcorn.jmp");
dt <<サイドパネルを閉じる。//データグリッドを見たいだけです。
//まず、セルを色付けして説明します。
// 9未満の利回りは赤く塗られます。
CellsToPaint = dt <<ここで、行を取得します。(column(:yield)<9);
:<<カラーセル(RGB Color(1、0、0)、CellsToPaint)を生成します。
// 15を超える利回りは緑色に塗られます。
CellsToPaint = dt <<ここで行を取得します(column(:yield)> 15)。
:<<カラーセル(RGB Color(0、1、0)、CellsToPaint)を生成します。
//画像としてコピーできるように、データグリッドボックスに入れます。
dgb =データグリッドボックス(); dgb << Set Data Table(dt);
//サイズを変更しないと、余分な空白行と列が表示されます。
//手動で縮小できます - ただし、できれば自動化したいです。
dgb << set width(325);
dgb << set height(340);
//今手に入れたものを見てみましょう。
新しいウィンドウ( "My Data Grid Box"、dgb)。
パス= "$ DESKTOP / snapshot.png";
dgb <<画像を保存する(Path、"png");
//画像ボックス内で開き直します。
pb =画像ボックス(open(Path、png));
//そして最後の画像を表示します。
新しいウィンドウ( "マイスナップショット"、パネルボックス( "マイスナップショット"、pb))。
//プログラムの終わり
空白の行と列を除外するためのデータグリッドボックスのサイズ変更はい、私は色に関するそれらの言及が理由でそこにありましたが:)。。。
'NumberColBox()'とStringColBox() 'は' << textColor() 'と' << backgroundColor() 'を理解しますが、おそらく予想されるようにこれらは列全体に作用します。
サイドパネルの操作に関して、予期しない動作が発生した場合はsupport@jmp.comを使用してください。
空白の行と列を除外するためのデータグリッドボックスのサイズ変更こんにちはイアン - はい、私はそのようにそれをすることができるというのは本当です。しかし、質問をするための根本的な動機は、私が元のデータテーブルに組み込んだセルカラーリングを保持したいということでした。 データテーブルのセルに色を付けるのと同じ方法で、テーブルボックスのセルに個別に色を付けることはできないと思いますが、そうですか。
私が最初にこのスレッドの一番上に例を組み込んだとき、私がスクリーンショットを撮る前にデータテーブルのサイドパネルは常に隠されていたはずだったということです。ライン)。 しかし、私はそこでエラーを犯したことを発見したところです。すべき 「dt << close side panel(1)」となるようにします。 これは正しく機能しているように見えますが、データテーブルが後でデータグリッドボックスにコピーされると、サイドパネルが(常にではありませんが)再表示されることがあります。 データグリッドボックスにも "<サイドパネルを閉じる"プロパティがあるのを確認しましたが、データグリッドボックスからサイドパネルを一貫して削除するこれら2つのプロパティの組み合わせが見つかりません。 "<< side side panel"プロパティを正しく使用していますか?
どうもありがとう、
ダビデ
空白の行と列を除外するためのデータグリッドボックスのサイズ変更あなたが必要なものを説明する方法を考えると、あなたはまた試みることができます:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Popcorn.jmp" );
tb = TableBox();
for(c=1, c<=NCol(dt), c++,
thisCol = Column(dt, c);
if ((thisCol << getDataType) == "Numeric",
// Numeric column
tb << Append(NumberColBox(thisCol << getName, thisCol << getValues)),
// Assumed Character column
tb << Append(StringColBox(thisCol << getName, thisCol << getValues))
);
);
Close(dt, NoSave);
tb << savePicture("$DESKTOP/snapshot.png", "png");