'Returns a string representation of the coordinate data.'

def _data_repr(self):

    if (not self.has_data):
        return u''
    if self.representation:
        if (issubclass(self.representation, r.SphericalRepresentation) and isinstance(self.data, r.UnitSphericalRepresentation)):
            rep_cls = self.data.__class__
        else:
            rep_cls = self.representation
        if (u's' in self.data.differentials):
            dif_cls = self.get_representation_cls(u's')
            dif_data = self.data.differentials[u's']
            if isinstance(dif_data, (r.UnitSphericalDifferential, r.UnitSphericalCosLatDifferential, r.RadialDifferential)):
                dif_cls = dif_data.__class__
        else:
            dif_cls = None
        data = self.represent_as(rep_cls, dif_cls, in_frame_units=True)
        data_repr = repr(data)
        for (nmpref, nmrepr) in self.representation_component_names.items():
            data_repr = data_repr.replace(nmrepr, nmpref)
    else:
        data = self.data
        data_repr = repr(self.data)
    if data_repr.startswith((u'<' + data.__class__.__name__)):
        data_repr = data_repr[(len(data.__class__.__name__) + 2):(-1)]
    else:
        data_repr = (u'Data:\n' + data_repr)
    if (u's' in self.data.differentials):
        data_repr_spl = data_repr.split(u'\n')
        if (u'has    differentials' in data_repr_spl[(-1)]):
            diffrepr = repr(data.differentials[u's']).split(u'\n')
            if diffrepr[0].startswith(u'<'):
                diffrepr[0] = (u'    ' + u'    '.join(diffrepr[0].split(u'    ')[1:]))
            for (frm_nm, rep_nm) in self.get_representation_component_names(u's').items():
                diffrepr[0] = diffrepr[0].replace(rep_nm, frm_nm)
            if diffrepr[(-1)].endswith(u'>'):
                diffrepr[(-1)] = diffrepr[(-1)][:(-1)]
            data_repr_spl[(-1)] = u'\n'.join(diffrepr)
        data_repr = u'\n'.join(data_repr_spl)
    return data_repr
