def normalize_sizes(sizes, dx, dy):
    """
    Return list of normalized values corresponding to a list of supplied values
    and specified width (dx)/ height (dy) dimensions.

    :param sizes: Ordered (desc) list of values to be plotted as treemap squares
    :param dx: Total treemap width
    :param dy: Total treemap height
    :return: List of normalized values corresponding to original list
    """
    total_size = sum(sizes)
    total_area = dx * dy
    sizes = map(float, sizes)
    sizes = map(lambda size: size * total_area / total_size, sizes)
    return list(sizes)
