我有类似于下面示例的Python代码,用于删除使用Matplotlib创建的图的顶部和右侧轴。所有绘图轴也会删除刻度线。
py.close('all')
py.figure(1)
py.plot(x1, y1)
py.grid()
py.figure(2)
py.plot(x2, y2)
py.grid()
py.figure(3)
py.plot(x3, y3)
py.grid()
ax = py.gca()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
py.tick_params(axis='both', bottom='off', top='off', left='off', right='off')
py.show()
不幸的是,期望的效果仅适用于最后的情节图。要删除所有图形的顶部/右侧轴和刻度线,我必须在每个图形后面放置以下代码:
ax = py.gca()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
py.tick_params(...)
是否可以使用Matplotlib一次自定义所有图形的轴?
答案 0 :(得分:1)
至少当前版本的Matplotlib也通过matplotlibrc
配置文件支持此功能:
axes.spines.top : False
axes.spines.right : False
或者,使用rcParams
:
import matplotlib as mpl
mpl.rcParams["axes.spines.right"] = False
mpl.rcParams["axes.spines.top"] = False
根据您的配置,您可能还必须删除顶部/右侧轴(xtick.top : False
,ytick.right : False
)的刻度线。
答案 1 :(得分:-1)