調整數據網格框的大小以排除空行和列嗨,
我正試圖找到一種方法來拍攝數據表的填充單元格的快照(即沒有任何側面板,底部的空白行或右側的空白列)。
我最近發現了數據網格框顯示框,幾乎可以讓我做我想要的 - 但我需要一種方法來調整它的大小,以便填充的單元格網格完全填充它。我可以通過反複試驗手動執行此操作,但我想自動執行此操作。
這可能嗎?我附上一個示例腳本,說明我正在嘗試做什麼。
非常感謝
//程序開始;
名稱默認為此處(1);
dt = Open(“$ SAMPLE_DATA / Popcorn.jmp”);
dt <<關閉側面板; //我只想看數據網格;
//首先,我會給一些細胞著色以說明一些東西;
//任何低於9的產量都會塗成紅色;
CellsToPaint = dt <<獲取行所在(作為列(:yield)<9);
:yield << color cells(RGB Color(1,0,0),CellsToPaint);
//任何超過15的產量都會塗成綠色;
CellsToPaint = dt << get rows where(as column(:yield)> 15);
:yield << color cells(RGB Color(0,1,0),CellsToPaint);
//將它放入數據網格框中,以便將其複制為圖片;
dgb =數據網格框(); dgb <<設置數據表(dt);
//如果我沒有調整大小,會有額外的空白行和列可見;
//我可以手動縮小它 - 但是如果可以的話我想自動化這個位;
dgb << set width(325);
dgb << set height(340);
//讓我們看看我現在得到了什麼;
新窗口(“我的數據網格框”,dgb);
Path =“$ DESKTOP / snapshot.png”;
dgb << save picture(Path,“png”);
//在圖片框內重新打開;
pb =圖片框(open(Path,png));
//並顯示最終圖像;
新窗口(“我的快照”,面板框(“我的快照”,pb));
//程序結束;
Re:調整數據網格框的大小以排除空行和列是的,我雖然那些顏色的參考是有原因的:)。。。
雖然'NumberColBox()'和StringColBox()'理解'<< textColor()'和'<< backgroundColor()',但這些操作可能是人們所期望的。
關於操作側板,如果您發現意外行為,請使用support@jmp.com。
Re:調整數據網格框的大小以排除空行和列嗨,伊恩 - 是的,我可以這樣做;然而,問這個問題的根本動機是我想保留我在原始數據表中構建的單元格顏色。 我不認為我可以在表格盒中單獨為單元格著色,就像我可以為數據表中的單元格著色一樣,是嗎?
令我困惑的是,當我最初在這個線程的頂部組裝示例時,在我拍攝屏幕截圖之前,數據表的側面板總是應該被隱藏(因此“dt << close side panel”線)。 但是我剛剛發現我在那裡犯了一個錯誤:那條線應該成為“dt << close side panels(1)”。 這似乎工作正常,但是當數據表隨後被複製到數據網格框中時,側面板有時(但不總是)重新出現。 我看到數據網格框也有一個“
非常感謝,
大衛
Re:調整數據網格框的大小以排除空行和列根據您描述所需內容的方式,您還可以嘗試:
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");