Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Matplotlib 在pyplot子图中保留轴的同时删除帧_Matplotlib_Frame_Axes_Subplot - Fatal编程技术网

Matplotlib 在pyplot子图中保留轴的同时删除帧

Matplotlib 在pyplot子图中保留轴的同时删除帧,matplotlib,frame,axes,subplot,Matplotlib,Frame,Axes,Subplot,我正在创建一个包含3个子图的图形,我想知道是否有任何方法可以在保留轴的同时移除它们周围的框架?使用轴手柄的轴(“关闭”)方法可以实现类似的效果。这就是你想要的东西吗?(下图中的示例代码) 如果要删除轴脊椎,但不删除其他信息(记号、标签等),可以这样做: fig, ax = plt.subplots(7,1, sharex=True) t = np.arange(0, 1, 0.01) for i, a in enumerate(ax): a.plot(t, np.sin((i +

我正在创建一个包含3个子图的图形,我想知道是否有任何方法可以在保留轴的同时移除它们周围的框架?

使用轴手柄的
轴(“关闭”)
方法可以实现类似的效果。这就是你想要的东西吗?(下图中的示例代码)


如果要删除轴脊椎,但不删除其他信息(记号、标签等),可以这样做:

fig, ax = plt.subplots(7,1, sharex=True)

t = np.arange(0, 1, 0.01)

for i, a in enumerate(ax):
    a.plot(t, np.sin((i + 1) * 2 * np.pi * t))
    a.spines["top"].set_visible(False)
    a.spines["right"].set_visible(False)
    a.spines["bottom"].set_visible(False)
或者更容易地使用:

这两种方法都将为您提供:

试试
plt.box(on=None)
它只删除了绘图周围的边框(frame),这就是我要做的


plt.axis('off')
删除了勾号标签和边界框,这不是我想要实现的。

如果碰巧有极坐标图,则脊椎的定义不同,因此根据需要:a.spines['polar']。在Python 3中设置为可见(False),for循环更简单:
对于in-ax:
@mwaskom如何将x轴保持在上述代码中的最后一个子地块?
fig, ax = plt.subplots(7,1, sharex=True)

t = np.arange(0, 1, 0.01)

for i, a in enumerate(ax):
    a.plot(t, np.sin((i + 1) * 2 * np.pi * t))
    a.spines["top"].set_visible(False)
    a.spines["right"].set_visible(False)
    a.spines["bottom"].set_visible(False)
fig, ax = plt.subplots(7,1, sharex=True)

t = np.arange(0, 1, 0.01)

for i, a in enumerate(ax):
    a.plot(t, np.sin((i + 1) * 2 * np.pi * t))

seaborn.despine(left=True, bottom=True, right=True)