2014-01-29 46 views
2

MATLAB中的文本對象包含一個水平對齊屬性,可以爲它指定左值,中值或右值。嘗試通過與字符串和座標向量相等長度的對齊向量來分配此屬性時,未能給出預期的行爲。matlab:文本的變量水平對齊

例如,形式的語句:

text([1,1,1]/4,[1,2,3]/4,{'ABC';'BCD';'CDE'}) 

顯示字符對象的長度爲3的單元陣列的在X軸和由長度爲3的雙陣列中指定的內容Y座標。然而,試圖引入長度爲3的char對象單元陣列來獨立指定每個文本元素的水平對齊方式,這在語法上是無效的;

例如,

text([1,1,1]/4,[1,2,3]/4,{'ABC';'BCD';'CDE'},'HorizontalAlignment',{'left';'center';'right'}) 

我的問題涉及是否有可能,而不訴諸構建明確涉及循環和條件來指定可變的方式MATLAB文本對象的的Horizo​​ntalAlignment財產。

回答

2

您不能分配在創建多個屬性值,但一旦你有把手的載體,可以使用許多一對多的形式set()像這樣:

h = text([1,1,1]/4, [1,2,3]/4, {'ABC';'BCD';'CDE'}); 
set(h, {'HorizontalAlignment'}, {'left';'center';'right'}); 

值數組每個對象一行,每個屬性一列。