【问题标题】:Python, Matplotlib, plotting irregular gridPython,Matplotlib,绘制不规则网格
【发布时间】:2017-01-14 06:30:16
【问题描述】:

在 Matplotlib 中,我试图绘制以下网格:

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

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')

或对此的变化,但这会返回各种错误和/或形状怪异的绘图网格。任何人作为一个快速的想法/建议/提示可能是前进的方向吗?

【问题讨论】:

    标签: python matplotlib


    【解决方案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 
    

    【讨论】:

    • 太棒了,谢谢! axe.set_visible(False)axe.axis('off') 有什么区别?
    • 我找不到两者之间的区别。结果是一样的。
    • axe.axis('off') 只是关闭轴线、刻度线和标签。 axe.set_visible(False) 隐藏了整个坐标轴艺术家,包括绘制在其上的任何内容。
    猜你喜欢
    • 2019-09-24
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    相关资源
    最近更新 更多