1. 使用despine
方法
Matplotlib的despine
方法可以用来移除子图的顶部和右侧边框。示例代码如下:
import matplotlib.pyplot as plt import numpy as np # 创建数据 x = np.linspace(0, 10, 100) y = np.sin(x) # 创建一个新的figure fig = plt.figure() # 创建一个新的axes ax = fig.add_subplot(111) # 绘制sin曲线 ax.plot(x, y) # 移除顶部和右侧边框 ax.despine(top=True, right=True) # 显示图形 plt.show()
2. 设置坐标轴的边界和颜色
可以通过设置坐标轴的边界和颜色来隐藏边框。示例代码如下:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建一个新的figure
fig = plt.figure()
# 创建一个新的axes
ax = fig.add_subplot(111)
# 绘制sin曲线
ax.plot(x, y)
# 设置坐标轴边界和颜色
ax.spines['top'].set_visible(False) # 隐藏顶部边框
ax.spines['right'].set_visible(False) # 隐藏右侧边框
ax.spines['bottom'].set_color('white') # 设置底部边框颜色为白色
ax.spines['left'].set_color('white') # 设置左侧边框颜色为白色
ax.xaxis.set_ticks_position('bottom') # 将x轴放置在底部,避免与白色边框重叠
ax.yaxis.set_ticks_position('left') # 将y轴放置在左侧,避免与白色边框重叠
ax.axis([0, 10, -1, 1]) # 设置坐标轴的范围,不包括边界值,避免边框的出现
ax.grid(True) # 显示网格线,可以辅助判断数据的分布情况,同时不遮挡白色边框的位置
plt.show() # 显示图形
3. 用matplotlib.axes.Axes.set_frame_on()隐藏边框
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建一个新的figure
fig = plt.figure()
# 创建一个新的axes
ax = fig.add_subplot(111)
# 绘制sin曲线
ax.plot(x, y)
# 隐藏边框
ax.set_frame_on(False)
# 显示图形
plt.show()
4. 利用matplotlib.pyplot.box()方法隐藏边框
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建一个新的figure
fig = plt.figure()
# 创建一个新的axes
ax = fig.add_subplot(111)
# 绘制sin曲线
ax.plot(x, y)
# 隐藏边框
plt.box(on = False)
# 显示图形
plt.show()