def prepare_plot_data(n_labels, legends, markers):
    """
    :param int n_labels: Number of labels
    :param list_or_None legends: List of legends
        If None, it will be transformed to list of None
    :param list_or_None markers: List of markers
        If None, it will be transformed to list of 'circle'

    :returns: legends, markers
        - legends : transformed list of legends
        - markers : transformed list of markers

    Usage

        >>> n_labels = 3
        >>> legends, markers = None, None
        >>> legends, markers = prepare_plot_data(n_labels, legends, markers)
        >>> print(legends)
        [None, None, None]
        >>> print(markers) # default markers
        ['circle', 'circle', 'circle']
    """
    if legends is None:
        legends = [None] * n_labels
    if markers is None:
        markers = ['circle'] * n_labels

    def length_checker(list):
        if len(list) < n_labels:
            list_instance = locals()['list']
            raise ValueError(
                f'Number of labels is {n_labels}, however too short list: {list_instance}')

    for list in [legends, markers]:
        length_checker(list)
    return legends, markers