'Returns the graph transform that maps from data to scene coordinates using axes ``x_axis`` and ``y_axis``.'

def transform_for_axes(self, x_axis=xBottom, y_axis=yLeft):

    if (not ((x_axis, y_axis) in self._transform_cache)):
        a = QRectF(self.graph_area)
        t = a.top()
        a.setTop(a.bottom())
        a.setBottom(t)
        self._transform_cache[(x_axis, y_axis)] = self.transform_from_rects(self.data_rect_for_axes(x_axis, y_axis), a)
    return self._transform_cache[(x_axis, y_axis)]
