@classmethod
def _clean_data(cls, *args, **kwargs):
    """
        Convert raw data into a dictionary with plot-type specific methods.

        The result of the cleaning operation should be a dictionary.
        If the dictionary contains a 'data' field it will be passed directly
        (ensuring appropriate formatting). Otherwise, it should be a
        dictionary of data-type specific array data (e.g. 'points', 
        'timeseries'), which will be labeled appropriately
        (see _check_unkeyed_arrays).
        """
    datadict = cls.clean(*args, **kwargs)
    if 'data' in datadict:
        data = datadict['data']
        data = cls._ensure_dict_or_list(data)
    else:
        data = {}
        for key in datadict:
            if key == 'images':
                data[key] = datadict[key]
            else:
                d = cls._ensure_dict_or_list(datadict[key])
                data[key] = cls._check_unkeyed_arrays(key, d)
    return data
