2011-12-31 12 views
5

RowSpacings, bir Kılavuzdaki satır aralıklarının değiştirilmesine izin verir.RowSpacing'i bir Kılavuzdaki sadece son Satır için ayarlamak için herhangi bir kısa sözdizimi?

Yardım diyor ki: o kalan satırlar yukarıda diyor

RowSpacings->{Subscript[s, 12],Subscript[s, 23],...} can be used to specify 
different spacings between different rows. If there are more rows than 
entries in this list, then the last element of the list is used repeatedly 
for the remaining rows 

Bildirimi.

Tüm başlangıç ​​satırlarının bazı boşlukları kullanmasını sağlamak istiyorum, ancak farklı aralık kullanmak için son satır.

Bu örnek yapar ben yani ters yapmak istediği başka kendinden önce bir şey için son satır ve tüm satırları ayarlamak

n = 5; 
data = Table[Random[], {n}, {n}]; 
Grid[data, Frame -> All, RowSpacings -> {6, 1}, Alignment -> Center] 

enter image description here

Ama belgelenmiş yolu (kalan satırlar) .

n = 5; 
data = Table[Random[], {n}, {n}]; 
Grid[data, Frame -> All, 
RowSpacings -> {Sequence @@ Table[1, {n - 2}], 6},Alignment -> Center] 

enter image description here

yukarıda

yazmak için başka bir yolu olduğunu: Bunu yapabileceğini tek yolu sonuncusu kadar tüm satırlar için tüm aralıkları yazarak, yani uzun bir yoldur

Grid[data, Frame -> All, RowSpacings -> {1, 1, 1, 6}, Alignment -> Center] 
Ben de

Grid[data, Frame -> All, RowSpacings -> {{1}, 6}, Alignment -> Center] 
Grid[data, Frame -> All, RowSpacings -> {{1 ;; 3}, 6}, Alignment -> Center] 

gibi şeyler denedik ama onlar çalışmaz. Yukarıdaki ilk örnekte olduğu gibi kısa bir kesim bulamadım.

RowSpacings, herhangi bir özel değere yalnızca son Satır'ı ve yukarıdaki satırın üstündeki tüm satırları yukarıdaki hack'i kullanmadan ayarlamak için bir hileyi biliyor mu?

Yaptığım gibi bunu yapmak gerçekten çok önemli bir şey değil, sadece Mathematica'daki bu hile sözdizimi kullanımından birine bakıp bakmadığımı merak ediyorum.

sayesinde

cevap

7

Grid

Grid[data, Spacings -> {Automatic, Dimensions[data][[1]] -> 6}, 
    Frame -> All, Alignment -> Center] 

için Spacings seçeneğini kullanarak, siz RowSpacings + GridBox birleşimini kullanmak için başka sebepler yok varsayarsak ne gerek verir.

DÜZENLEME: En uygunu, -2 DÜZENLEME 2 1

1+number of rows ila gidin satır endeksleri son elemanından ikinci belirtir Grid[data, Spacings -> {Automatic, -2-> 6}, Frame -> All, Alignment -> Center]:

GridBox[data, RowLines -> True, ColumnLines -> True, 
    GridFrame -> True, RowAlignments -> Center, 
    ColumnAlignments -> Center, 
    GridBoxSpacings -> {"RowsIndexed" -> {-2 -> 6}}] //DisplayForm 
: GridBox kullanılarak, aşağıdaki aynı çıkışı üretir
+0

teşekkürler. '-2-> 6' hile aradığım şey. – Nasser

İlgili konular