Tabloları oluşturmak için LaTeX'i kullanırım, çünkü süslü görünüyorlar ve bir görüntü oluşturabilir veya doğrudan belgenize koyabilirsiniz. Bunu başarmak için aşağıdaki kodu kullandım:
#!/usr/bin/env
import numpy as np
import os
x = np.array([[1,2],[3,4]])
def generateLatexTable(x):
start = [r'\documentclass[preview]{standalone}', r'\begin{document}', r'\begin{tabular}{%s}' % ('{1}{0}{1}'.format('|'.join(['r'] * x.shape[1]), '|')), r'\hline']
tab = [' & '.join(['%d' % val for val in row]) + r' \\ \hline' for row in x]
end = [r'\end{tabular}', r'\end{document}']
text = '\n'.join(start + tab + end)
return text
with open('table.tex', 'w') as f:
f.write(generateLatexTable(x))
os.system("pdflatex table.tex")
Burada, belgenin preview
içeriğine, yani yalnızca tabloya yeniden boyutlandırılan bir görüntüyü döndüren belge sınıfı kullanılır. tabular
Verileri sunmak için yalnızca bir ortam kullanılır. Hücreler arasında yatay ve dikey çubuklar vardır, ancak bunu değiştirmek çok kolaydır. Değişkende tab
, veriler her satır için işlenir ve bir dizeye dönüştürülür. Bu konumda çıktı biçimini belirtmeniz gerektiğini unutmayın. Bunu %d
her şeyin tamsayılara dönüştürülmesi için ayarladım .
Eğer bir lateks kaynağına doğrudan tablo kullanmak istiyorsanız, kaldırmak zorunda documentclass
ve \begin{document}
aynı zamanda \end{document}
bir değişkenlerde start
ve end
. Son olarak, her şey daha sonra diske olarak depolanan bir lateks kaynağında bir araya getirilir table.tex
. Yalnızca görüntünün sonunda olmasını istiyorsanız, sonuçta elde edilen dosya derlenir table.pdf
.
İşte çıktı böyle görünüyor. Ama dediğim gibi, LaTeX olduğu için görünümü değiştirmek çok kolay :)
0'dan 100'e kadar rastgele sayılarla doldurulmuş büyük bir matrise (14 x 14) sahip başka bir örnek:
table
başlamak için iyi bir yer olurdu. İyi bir cevap vermek için yeterince kullanmadım.