为了去掉图中的框架,我写了
frameon=False
与pyplot完美结合。图,但与matplotlib。图只移除了灰色背景,帧保持不变。此外,我只想显示线条,其余的图形都是透明的。
用pyplot我可以做我想做的事情,我想用matplotlib做一些很长的原因,我宁愿不提扩展我的问题。
为了去掉图中的框架,我写了
frameon=False
与pyplot完美结合。图,但与matplotlib。图只移除了灰色背景,帧保持不变。此外,我只想显示线条,其余的图形都是透明的。
用pyplot我可以做我想做的事情,我想用matplotlib做一些很长的原因,我宁愿不提扩展我的问题。
当前回答
问题
我在使用坐标轴时遇到了类似的问题。类参数是frameon,但kwarg是frame_on。axes_api > > > plt.gca()这里(frameon = False) AttributeError:未知属性帧
解决方案
frame_on
例子
data = range(100)
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(data)
#ax.set(frameon=False) # Old
ax.set(frame_on=False) # New
plt.show()
其他回答
axis('off'),将如Joe Kington指出的那样,删除除标绘线之外的所有内容。
对于那些只想删除框架(边框),并保留标签,标记等,可以通过访问轴上的spines对象来实现。给定一个轴对象ax,下面的代码应该删除所有四个边的边界:
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
并且,如果从图中移除x和y刻度:
ax.get_xaxis().set_ticks([])
ax.get_yaxis().set_ticks([])
我过去常常这样做:
from pylab import *
axes(frameon = 0)
...
show()
plt.box(False)
plt.xticks([])
plt.yticks([])
plt.savefig('fig.png')
应该能行。
正如我在这里回答的,你可以通过样式设置(样式表或rcParams)从所有的图中删除棘线:
import matplotlib as mpl
mpl.rcParams['axes.spines.left'] = False
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
mpl.rcParams['axes.spines.bottom'] = False
plt.axis('off')
plt.savefig(file_path, bbox_inches="tight", pad_inches = 0)
plt。Savefig本身有这些选项,只需要在之前设置轴