我想使用matplotlib样式表来删除上下刻度线。

import matplot.pyplot as plt
ax = plt.subplot(111)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.get_xaxis().tick_bottom()
ax.get_yaxis().tick_left()


为了获得相同的效果,我必须在样式表中使用哪些命令?

最佳答案

由于我也在这个问题上苦苦挣扎,所以这是我的答案。将以下行添加到样式表:

axes.spines.left   : True
axes.spines.bottom : True
axes.spines.top    : False
axes.spines.right  : False


之后,删除刻度线应该是过时的,但是您仍然可以使用它(跳过这些行或将其设置为false以删除刻度线):

xtick.top  : True
ytick.right: True


据我了解,不可能在样式表中指定matplotlibrc文件中没有的选项。因此,如果未在matplotlibrc中指定这些键,则此解决方案将不起作用,您应考虑更新matplotlib。

10-06 15:50