0

我正在寻找一种方法来创建包含几个子图的图形,这些子图是表格。让我试着解释一下我在说什么。下面是一个有几个子图的imshow图。我想要完全相同的数字,但我想要的不是“imshow”图,而是简单的表格。在我的示例中,它们只会显示值 1 和 2:

[1, 2]
[2, 1]

我该怎么做?

先感谢您

在此处输入图像描述

这是我用来生成图表的代码。

import pylab
import numpy as np

x = np.array([[1,2],[2,1]])

fig = pylab.figure()

fig_list = []

for i in xrange(5):

    fig_list.append( fig.add_subplot(2,3,i+1) )
    fig_list[i] = pylab.imshow(x)


pylab.savefig('my_fig.pdf')
pylab.show()
4

1 回答 1

2

您可以使用 pylab.table 命令,文档可在此处找到。

例如:

import pylab
import numpy as np

x = [[1,2],[2,1]]

fig = pylab.figure()

axes_list = []
table_list = []

for i in xrange(5):
    axes_list.append( fig.add_subplot(2,3,i+1) )
    axes_list[i].set_xticks([])
    axes_list[i].set_yticks([])
    axes_list[i].set_frame_on(False)
    table_list.append(pylab.table(cellText=x,colLabels = ['col']*2,rowLabels=['row']*2,colWidths = [0.3]*2,loc='center'))

pylab.savefig('my_fig.pdf')
pylab.show()

我还创建了一个额外的列表变量,并重命名了 fig_list,因为轴实例被绘制对象的实例覆盖。现在您可以访问两个句柄。

其他有用的命令包括:

# Specify a title for the plot
axes_list[i].set_title('test')

# Specify the axes size and position
axes_list[i].set_position([left, bottom, width, height])

# The affect of the above set_position can be seen by turning the axes frame on, like so:
axes_list[i].set_frame_on(True)

文档:

于 2012-06-26T18:36:45.643 回答