refactor canvas plot to simplify translations