【问题标题】:Plot over subplot绘制子图
【发布时间】:2014-02-17 14:53:56
【问题描述】:

我在现有的轴框架内有一个子图,并且在子图中有一些线条或填充的轮廓图。我想要做的是在现有的较大框架中绘制一些线条,这些线条必须位于子图中的线条/轮廓之上。下面是一个小例子。基本上我希望蓝线和/或绿线位于红线之上。似乎设置 zorder 对属于不同子轴的线没有影响。

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([0,2], color='blue', zorder=300)
ax0 = gca()
ax = fig.add_axes([0.3,0.3,0.3,0.3], zorder=0, axisbg='none')
ax.plot([0,1],[1,0], linewidth=40, color='red', zorder=-100)
ax0.plot([0.55,0.55],[0,2], linewidth=20, color='green', zorder=200)

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    我找到了一个解决方案,它可能并不完美,但可以满足我的需求。诀窍是将大轴框设置为高zorder,并将其背景颜色设置为透明,这样可以看到背景中的小轴框,这样主框中的线条自然会在上面小框架中的线条。

    import matplotlib.pyplot as plt
    fig = plt.figure()
    plt.plot([0,2], color='blue')
    ax0 = gca()
    ax0.set_zorder(100)
    ax0.set_axis_bgcolor('none')
    ax = fig.add_axes([0.3,0.3,0.3,0.3], zorder=0, axisbg='none')
    ax.plot([0,1],[1,0], linewidth=40, color='red')
    ax0.plot([0.55,0.55],[0,2], linewidth=20, color='green')
    

    【讨论】:

    • 谢谢,它对我有用。看起来 set_axis_bgcolor 被替换为 set_facecolor
    猜你喜欢
    • 1970-01-01
    • 2022-08-16
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2019-05-18
    • 2021-10-30
    相关资源
    最近更新 更多