Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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 Matlibplot表格拉伸和移动_Python_Matplotlib_Figure_Stretch - Fatal编程技术网

Python Matlibplot表格拉伸和移动

Python Matlibplot表格拉伸和移动,python,matplotlib,figure,stretch,Python,Matplotlib,Figure,Stretch,我试图调整这张桌子,使它占据整个窗口,但没有顶部、底部的左滑块和右滑块的组合允许我这样做,他们所做的只是缩小网格,同时翻译它 有没有办法把它垂直拉伸 这是我的密码: import numpy as np import matplotlib.pyplot as plt from matplotlib import colors from random import randint def colour(value): r,g,b = 0,0,0 if value < 1:

我试图调整这张桌子,使它占据整个窗口,但没有顶部、底部的左滑块和右滑块的组合允许我这样做,他们所做的只是缩小网格,同时翻译它

有没有办法把它垂直拉伸

这是我的密码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors
from random import randint

def colour(value):
    r,g,b = 0,0,0
    if value < 1:
        r = 1
        g = 1*value
    if value > 1:
        r = 1 - 1*(value-1)
        g = 1
    if value == 1:
        r = 1
        g = 1
    if value > 2:
        b = 1
    colour  =  (r,g,b)

    return colour

ncols, nrows = 7,8
row= [[]]*nrows
for i in range(nrows):
    row[i] = i*3

print(row)
col = ['M', 'T', 'W', 'Th', 'F', 'Sat', 'Sun']
list = []
text = ['','','','','','','']

for a in range(nrows):
     list.append(text)


fig, ax = plt.subplots()
ax.axis('tight')
ax.axis('off')
image = ax.table(cellText=list, colLabels = col, rowLabels=row)
for j in range(ncols):
    for i in range(nrows):
        print(i,j)
        value = randint(0,200)
        value = value / 100       
        image._cells[(i+1,j)].set_facecolor(colour(value))

figManager = plt.get_current_fig_manager()
figManager.window.showMaximized()
fig.tight_layout()
plt.show()
将numpy导入为np
将matplotlib.pyplot作为plt导入
从matplotlib导入颜色
从随机导入randint
def颜色(值):
r、 g,b=0,0,0
如果值<1:
r=1
g=1*值
如果值>1:
r=1-1*(值-1)
g=1
如果值==1:
r=1
g=1
如果值>2:
b=1
颜色=(r、g、b)
返色
ncols,nrows=7,8
行=[[]]*nrows
对于范围内的i(nrows):
行[i]=i*3
打印(行)
col=['M','T','W','Th','F','Sat','Sun']
列表=[]
文本=['','','','','','','']
对于范围内的(nrows):
list.append(文本)
图,ax=plt.子批次()
ax.轴(“紧”)
ax.轴(“关闭”)
image=ax.table(cellText=list,colLabels=col,rowLabels=row)
对于范围内的j(ncols):
对于范围内的i(nrows):
打印(i,j)
值=randint(0200)
值=值/100
图像。_单元格[(i+1,j)]。设置_面颜色(颜色(值))
figManager=plt.get_current_fig_manager()
figManager.window.showMaximized()
图1紧_布局图()
plt.show()

使用缩放工具,选择比高度更宽的区域(例如,从左上角到右下角)以更改纵横比。您还可以调整
figsize
以获得更好的纵横比。

您正在轴下方创建表格。看起来你更愿意在轴内创建它

table = ax.table(..., loc="center")
然后,要调整垂直跨度,您可以设置比例,例如,将y方向的尺寸增加一倍:

table.scale(1,2)
结果看起来就像

或者,指定表格相对于轴的边界框。要填充整个轴

table = ax.table(..., bbox=[0,0,1,1])
然后调用
fig.tight_layout()
像往常一样调整边距