<p>我将使用LaTeX生成表,因为它们看起来很花哨,您可以生成图像,也可以直接将它们放入文档中。我使用了以下代码来实现这一点:</p>
<pre><code>#!/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")
</code></pre>
<p>在这里,使用document类<code>preview</code>,它返回一个调整为文档内容大小的图像,即仅返回表。只有<code>tabular</code>环境用于显示数据。单元格之间有水平条和竖线,但很容易改变这种情况。在变量<code>tab</code>中,为每一行处理数据并将其转换为字符串。请注意,您必须在此位置指定输出格式。我将它设置为<code>%d</code>,这样所有的东西都被转换成整数。在</p>
<p>如果您想在latex源代码中直接使用该表,则必须删除<code>documentclass</code>和{<cd6>},以及{<cd8>}和{<cd9>}变量中的<code>\end{document}</code>。最后,所有的东西都放在一个乳胶源中,然后以<code>table.tex</code>的形式存储到磁盘上。如果您只希望图像结束,则生成的文件将编译为<code>table.pdf</code>。在</p>
<p>下面是输出的样子。但是就像我说的,因为它是乳胶,所以很容易改变外观:)</p>
<p><a href="https://i.stack.imgur.com/xsWL5.png" rel="noreferrer"><img src="https://i.stack.imgur.com/xsWL5.png" alt="table"/></a></p>
<p>下面是另一个大矩阵(14 x 14)的示例,其中填充了0到100之间的随机数:</p>
<p><a href="https://i.stack.imgur.com/QDTB9.png" rel="noreferrer"><img src="https://i.stack.imgur.com/QDTB9.png" alt="table2"/></a></p>