Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pylab中表的子批次_Python_Matplotlib - Fatal编程技术网

Python pylab中表的子批次

Python pylab中表的子批次,python,matplotlib,Python,Matplotlib,我正在寻找一种方法来创建包含多个子图的图形,这些子图是表。让我试着解释一下我在说什么。下图中有几个子图,这些子图是imshow图。我想要完全相同的数字,但我想要的不是“imshow”图,而是表格,只是普通表格。在我的示例中,它们只显示值1和2: [1, 2] [2, 1] 我该怎么做 先谢谢你 下面是我用来生成图形的代码 import pylab import numpy as np x = np.array([[1,2],[2,1]]) fig = pylab.figure() fi

我正在寻找一种方法来创建包含多个子图的图形,这些子图是表。让我试着解释一下我在说什么。下图中有几个子图,这些子图是
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()

您可以使用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_列表,因为轴实例被打印对象的实例覆盖。现在您可以访问这两个句柄

其他有用的命令包括:

# 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)
文件:


谢谢。这和我想要的很接近,虽然我不喜欢每个子地块的顶部和底部都有空白。不过,这看起来是一个可行的解决方案。啊,您可以使用
fig\u list[i]。将\u frame\u设置为on(False)
删除轴框架。我在示例中添加了这一点。此外,您还可以将行标签和协作标签用于行和列的标签。谢谢。不过我有一个问题,你知道如何给这些表格命名吗
set_title()
不适用于表,您知道一些方法吗?再次感谢。
set_title()
应该可以在Axis实例上使用。axes文档位于。基本上,轴是图形内部的一个区域,您可以在其中绘制艺术家(或其他对象)。通常是直线图或类似图,但在本例中是表格。每个表都有自己的轴实例<代码>轴列表[i]。设置标题(“测试”)应该可以工作。另外,请注意,
set\u position([left,bottom,width,height])
命令可用于更改轴的大小,这将使标题更接近表格。这太完美了!你真的帮了我。非常感谢你!