从matplotlib`ax`对象中提取tick params

时间:2016-05-25 20:52:34

标签: python unit-testing matplotlib formatting

我希望能够确定是否已将刻度线设置为“关闭”。使用ax.tick_params。有没有办法检查ax对象是否已被关闭?

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['right'].set_visible(False)


ax.tick_params(
    axis='both',  
    which='both',      

    bottom='off',     
    top='off',         
    left='off',
    right='off') 

# This is essentially what I want to be able to do
assert ax.xticks == 'off'

1 个答案:

答案 0 :(得分:1)

要迭代每个轴的刻度,您可以使用此代码

print "Major ticks of y axis"                                              
for tick in ax.yaxis.get_major_ticks():
    print tick.tick1On, tick.tick2On, tick.gridOn                                        
print "Minor ticks of y axis"
for tick in ax.yaxis.get_minor_ticks():
    print tick.tick1On, tick.tick2On, tick.gridOn   

要浏览x轴的刻度,请直接替换

ax.yaxis.get_major_ticks()

通过

ax.xaxis.get_major_ticks()

关于Tick对象的可公开访问的属性,请阅读:http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick