我經常使用openvar('myArrayName')來瀏覽我的數據。但是,由於Excel能夠一次性縮小所有列,所以我看到了大量數據。使用有限的桌面空間是非常令人窒息的,我必須同時在同一列中排列很少的列。手動調整每列不是一個好的解決方案,因爲我經常打開變量,而且它們通常有很多列。有沒有辦法以批量方式縮小列?在Matlab變量編輯器中縮小所有列的範圍
2
A
回答
1
這不是一個完美的解決方案,但可以讓你開始。基本思想是首先get a handle to underlying java table,然後調整所有列的大小,例如如建議here。您可以下載TableColumnAdjuster java類,將其打包成jar並使用javaclasspath
加載。當使用findjobj
搜索java句柄時,請注意,表類將取決於您嘗試顯示的變量的類型(一些示例here),所以我們需要找到正確的句柄。
javaaddpath('path\to\TableColumnAdjuster.jar');
my_var= randn(1e4,10);
openvar('my_var');
resizevar('my_var');
function resizevar(name)
desktop = com.mathworks.mde.desk.MLDesktop.getInstance();
varclient = desktop.getClient(name);
jh = findjobj(varclient);
hNames = get(jh, 'Name');
validNames = {'VariableTable','CellTable','DatasetVariableTable','TableObjectVariableTable','CategoricalVariableTable','TimeSeriesArrayEditorTablePanel:fDataTable'};
jTable = jh(find(ismember(hNames, validNames),1));
jTable.setAutoGrowthTemporarilyDisabled(true);
jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
pause(0.1);
spacing = 10;
tca = TableColumnAdjuster(jTable, spacing);
tca.adjustColumns();
end
的問題是,Matlab的將保持更新表作爲滾動和/或基礎數據的變化,這可以重置寬度(或甚至具有其它副作用如添加更多的空欄等)。如果您研究Matlab使用的自定義表類,您會注意到一個方便的setAutoGrowthTemporarilyDisabled
方法。將其設置爲true
可讓我們暫時避免這些副作用(似乎需要pause
才能生效),但是一旦開始與表/數據交互時,列的大小仍可能會調整。您需要進一步探索此自定義表類,以瞭解如何防止這種情況。
相關問題
- 1. 縮放變量的範圍 - MATLAB
- 2. Matlab:縮放範圍
- 3. 縮小量詞的範圍在Z3
- 4. 在Ada中如何將比特排列在縮小範圍變量中?
- 5. JPanel縮小範圍
- 6. 增量MATLAB範圍
- 7. Scala反射:如何列出範圍內的所有變量?
- 8. 變量的有效範圍
- 9. 在Python中求和所有的範圍變量?
- 10. Matlab中變量範圍[x,y]的規範化
- 11. Ansible變量列表範圍
- 12. 編輯範圍欄
- 13. 在Semantic MediaWiki中縮小查詢範圍
- 14. 列表框中的範圍變量
- 15. 在Matlab中向量化範圍檢查
- 16. 在Matlab中聲明整個範圍的變量
- 17. 隨機變量與randn在matlab中的範圍是什麼?
- 18. Python中的類似於MATLAB的變量編輯器
- 19. 類中生成器的變量範圍
- 20. 紅寶石塊變量範圍內/縮小方法
- 21. 下拉菜單縮小全局變量範圍
- 22. 爲什麼編譯器在範圍中看不到變量?
- 23. 如何在Mule中的應用程序範圍中存儲,編輯變量
- 24. 如何縮小有限時間範圍內的查詢數量?
- 25. PHP縮小搜索範圍
- 26. Android webView縮小範圍
- 27. 變量範圍
- 28. 變量範圍
- 29. 範圍變量
- 30. 變量範圍
謝謝,涅-msu。我在猜測,沒有什麼神奇的方法可以繞過一個在GUI背後隱藏的編程解決方案。我很快就不會這麼做了(我的時間狀況的實際情況),但知道事實上這種情況很有用。我會稍微等待一個神奇的現成解決方案,如果沒有出現,我會將您的答案標記爲答案。 – user36800