Canvas Zoom vai para o ponto (0,0)

Estou com problemas para aplicar zoom na tela. Fiz uma visualização personalizada na qual estou desenhando diagramas de relacionamento agora quando diminuo o zoom da tela para a posição (0,0). Vi diferentes tópicos e perguntas, mas não consegui encontrar a resposta apropriada.

O que estou fazendo no método onDraw

  canvas.scale(mScaleFactor, mScaleFactor);

ambém vi o método canvas.scale (x, y, px, py), mas não sei como obter os pontos de articulação de x e

public boolean onScale(ScaleGestureDetector detector) {

mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.4f, Math.min(mScaleFactor, 5.0f));
if(mScaleFactor>=1)
   mScaleFactor=1f; 

invalidate();
return true;

}