私はLaTeXを使用してテーブルを生成します。テーブルは空想的であり、画像を生成するか、直接ドキュメントに配置できるからです。これを実現するために、次のコードを使用しました。
#!/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")
ここでは、ドキュメントクラスpreview
が使用され、ドキュメントのコンテンツにサイズ変更された画像、つまり表のみが返されます。tabular
データの提示には環境のみが使用されます。セル間には水平バーと垂直バーがありますが、これを変更するのは非常に簡単です。変数でtab
は、データが行ごとに処理され、文字列に変換されます。この位置で出力フォーマットを指定する必要があることに注意してください。%d
すべてを整数に変換するように設定します。
あなたは、ラテックスソースで直接テーブルを使用する場合は、削除する必要がありますdocumentclass
し、\begin{document}
同様\end{document}
の変数にstart
とend
。最後に、すべてがlatex-sourceにまとめられ、としてディスクに保存されtable.tex
ます。最後に画像だけが必要な場合、結果のファイルは次のようにコンパイルされます。table.pdf
ます。
出力は次のようになります。しかし、私が言ったように、それはLaTeXなので、見た目を変更するのは非常に簡単です:)
これは、0から100の範囲の乱数で満たされた大きな行列(14 x 14)の別の例です。
table
開始するには良い場所でしょう。十分な答えを出すために十分に使用していません。