# 在Pyplot子图中删除框架而保留轴线[英] Removing frame while keeping axes in pyplot subplots ## 推荐答案

plt.axis('off')删除了tick标签和边界框，这不是我想要完成的.

## 其他推荐答案

```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)
``` ## 其他推荐答案 ```fig, ax = plt.subplots(7,1)

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.axis('off')

plt.show()
```

### 问题描述

I am creating a figure with 3 subplots, and was wondering if there is any way of removing the frame around them, while keeping the axes in place?

## 推荐答案

Try plt.box(on=None) It removed only the bounding box (frame) around plot, which is what I was trying to do.

plt.axis('off') removed tick labels and the bounding box, which wasn't what I was looking to accomplish.

## 其他推荐答案

If you want to remove the axis spines, but not the other information (ticks, labels, etc.), you can do that like so:

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

or, more easily, using seaborn:

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

Both approaches will give you: ## 其他推荐答案

You can achieve something like this with the axis('off') method of an axis handle. Is this the kind of thing you are after? (example code below the figure). ```fig, ax = plt.subplots(7,1)

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.axis('off')

plt.show()
```