def _check_sorting_kws()

in graspologic/plot/plot_matrix.py [0:0]


def _check_sorting_kws(length, meta, group, group_order, item_order, color, highlight):
    if isinstance(meta, pd.DataFrame):
        # if meta is here, than everything else must be column item in meta
        _check_length(meta, "meta", length)
        group = _check_item_in_meta(meta, group, "group")
        group_order = _check_item_in_meta(meta, group_order, "group_order")
        item_order = _check_item_in_meta(meta, item_order, "item_order")
        color = _check_item_in_meta(meta, color, "color")
        highlight = _check_item_in_meta(meta, highlight, "highlight")
    else:
        # otherwise, arguments can be a hodgepodge of stuff
        group_meta, group = _item_to_df(group, "group", length)
        group_order_meta, group_order = _item_to_df(group_order, "group_order", length)
        item_order_meta, item_order = _item_to_df(item_order, "item_order", length)
        color_meta, color = _item_to_df(color, "color", length)
        highlight_meta, highlight = _item_to_df(highlight, "highlight", length)
        metas = []
        for m in [
            group_meta,
            group_order_meta,
            item_order_meta,
            color_meta,
            highlight_meta,
        ]:
            if m is not None:
                metas.append(m)
        if len(metas) > 0:
            meta = pd.concat(metas, axis=1)
        else:
            meta = pd.DataFrame()

    return meta, group, group_order, item_order, color, highlight