Saya akan menggunakan LaTeX untuk menghasilkan tabel, karena mereka terlihat mewah dan Anda dapat menghasilkan gambar atau langsung memasukkannya ke dalam dokumen Anda. Saya menggunakan kode berikut untuk mencapai ini:
#!/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")
Di sini, kelas dokumen preview
digunakan yang mengembalikan gambar yang diubah ukurannya ke konten dokumen, yaitu hanya tabel. Hanya tabular
lingkungan yang digunakan untuk menyajikan data. Ada bar horisontal dan vertikal di antara sel, tetapi sangat mudah untuk mengubahnya. Dalam variabel tab
data diproses untuk setiap baris dan dikonversi menjadi string. Perhatikan bahwa Anda harus menentukan format output pada posisi ini. Saya mengaturnya %d
agar semuanya dikonversi menjadi bilangan bulat.
Jika Anda ingin menggunakan tabel secara langsung dalam sumber lateks, Anda harus menghapus documentclass
dan \begin{document}
juga \end{document}
dalam variabel dari start
dan end
. Akhirnya, semuanya disatukan dalam sumber lateks yang kemudian disimpan ke disk sebagai table.tex
. Jika Anda hanya ingin gambar pada akhirnya, file yang dihasilkan dikompilasi ke table.pdf
.
Berikut ini hasilnya. Tapi seperti yang saya katakan, sangat mudah untuk mengubah tampilannya karena itu adalah LaTeX :)
Berikut adalah contoh lain dengan matriks besar (14 x 14), diisi dengan angka acak mulai dari 0 hingga 100:
table
akan menjadi tempat yang baik untuk memulai. Saya belum cukup menggunakannya untuk memberikan jawaban yang baik.