无边框matplotlib图

时间:2013-09-04 01:20:45

标签: python matplotlib

有没有办法保存matplotlib图形,而框架周围没有边框,同时保持背景不透明?

我在下面的代码中显示将帧设置为“关闭”不起作用,因为这会删除背景使其透明,而我想保留白色背景,只是没有边框。

a = fig.gca()  
a.set_frame_on(False)  

以下是我正在尝试做的截图。如果可以移除边框,那么我可以单独绘制x轴线。

enter image description here

非常感谢所有建议。

3 个答案:

答案 0 :(得分:7)

您可以尝试使用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()]

答案 1 :(得分:6)

此处提出了类似的问题:How can I remove the top and right axis in matplotlib?。谷歌搜索“hide axes 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')

enter image description here

答案 2 :(得分:1)

更简单的方法:

id  total    
1   2.0  
2   6.0