customized matplotlib extensions