I've been burned by this pattern before, when some other part of the code (or a function it calls, or something someone adds later) raises AttributeError for a reason other than what you were anticipating here.  Consider either
```
try:
    ax.eventplot
except AttributeError:
    # fallback stuff
# normal stuff
```

or even the more explicit:
```
if hasattr(ax, 'eventplot'):
    # normal stuff
else:
    # fallback stuff