Python,Matplotlib,绘制不规则网格

时间:2017-01-13 22:07:00

标签: python matplotlib

在Matplotlib中,我试图绘制以下网格: enter image description here

以下公式给出了每行的长​​度:

xlen_max = 4
ylen = 7
for g in range(ylen):
    xlen = min(ylen-g, xlen_max)
    print(xlen)
4
4
4
4
3
2
1

我尝试将其应用于matplotlib:

fig, axes = plt.subplots(ylen, xlen_max , figsize=(5, 5))
for aa, axlist[aa] in enumerate(axes):
    for a, ax in enumerate(axlist[aa]):
        xlen = min(ylen-g, xlen_max)
        if xlen > a  :
            axlist[aa][a].axis('off')

或者变化,但这会返回各种错误和/或奇怪形状的情节网格。任何人作为一个快速的想法/建议/暗示可能是前进的方向?

1 个答案:

答案 0 :(得分:1)

您可以使用axe.set_visible(False)设置您不需要的轴不可见。这是一个例子:

cnt = 1
fig, axes = plt.subplots(7, 4 , figsize=(5, 5))
for i, row in enumerate(axes):
    for j, axe in enumerate(row):
        if i > 3:
            if j > 3 - cnt:
                axe.set_visible(False)
    if i > 3:
        cnt += 1 

enter image description here