有没有办法在保持背景不透明的同时保存没有边框的matplotlib图形?
正如我在下面的代码中显示的那样,将框架设置为“关闭”不起作用,因为这会删除背景使其透明,而我想保留白色背景,只是没有边框。
a = fig.gca()
a.set_frame_on(False)
这是我正在尝试做的截图。如果可以删除边框,那么我可以单独绘制 x 轴线。
非常感谢所有建议。
有没有办法在保持背景不透明的同时保存没有边框的matplotlib图形?
正如我在下面的代码中显示的那样,将框架设置为“关闭”不起作用,因为这会删除背景使其透明,而我想保留白色背景,只是没有边框。
a = fig.gca()
a.set_frame_on(False)
这是我正在尝试做的截图。如果可以删除边框,那么我可以单独绘制 x 轴线。
非常感谢所有建议。
这里问了一个类似的问题:如何删除 matplotlib 中的顶部和右侧轴?. 谷歌搜索“隐藏轴 matplotlib”将其作为第 5 个链接。
去除刺:
x = linspace(0, 2 * pi, 1000)
y = sin(x)
fig, ax = subplots()
ax.plot(x, y)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.grid(axis='y')
您可以尝试使用ax.spines
. 例如:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
如果你想删除所有的刺(可能还有蜱虫),你可以这样做
[s.set_visible(False) for s in ax.spines.values()]
[t.set_visible(False) for t in ax.get_xticklines()]
[t.set_visible(False) for t in ax.get_yticklines()]
更简单的方法:
import matplotlib.pyplot as plt
plt.tick_params(left=False, labelleft=False) #remove ticks
plt.box(False) #remove box