'set shape coordinates in percentages (left, top, right, bottom)'

@coordinates.setter
def coordinates(self, coords):

    self.axis_coordinates = coords
    ((x1, y1), (x2, y2)) = coords
    drawing_width = pixels_to_EMU(self.chart.drawing.width)
    drawing_height = pixels_to_EMU(self.chart.drawing.height)
    plot_width = (drawing_width * self.chart.width)
    plot_height = (drawing_height * self.chart.height)
    margin_left = (self.chart._get_margin_left() * drawing_width)
    xunit = (plot_width / self.chart.get_x_units())
    margin_top = (self.chart._get_margin_top() * drawing_height)
    yunit = self.chart.get_y_units()
    x_start = ((margin_left + (float(x1) * xunit)) / drawing_width)
    y_start = (((margin_top + plot_height) - (float(y1) * yunit)) / drawing_height)
    x_end = ((margin_left + (float(x2) * xunit)) / drawing_width)
    y_end = (((margin_top + plot_height) - (float(y2) * yunit)) / drawing_height)
    if (y_end < y_start):
        (y_end, y_start) = (y_start, y_end)
    self._coordinates = (self._norm_pct(x_start), self._norm_pct(y_start), self._norm_pct(x_end), self._norm_pct(y_end))
