iirc the rules on calling the formatters, they they get a non-None value only on the ticks.  You should put some logic in here so skip the conversion to pi-based values only when `pos is not None` and return decimal otherwise.  This allows this formatter to play nice with the mouse-over values.