def plot_plane(ax, distances: list, z_coords: list, label: str=None, decorate: bool=True, show_half: bool=False, **kwargs):
    '\n    Plot plane.\n\n    Args:\n        ax: matplotlib ax.\n        distances (list): List of plane intervals.\n        z_coords (list): List of z coordinate of each plane.\n        label (str): Plot label.\n        decorate (bool): If True, ax is decorated.\n        show_half: If True, atom planes which are periodically equivalent are\n                   not showed.\n    '
    if decorate:
        xlabel = 'Distance'
        ylabel = 'Hight'
    else:
        xlabel = ylabel = None
    _distances = deepcopy(distances)
    _z_coords = deepcopy(z_coords)
    _distances.insert(0, distances[(- 1)])
    _distances.append(distances[0])
    _z_coords.insert(0, (- distances[(- 1)]))
    _z_coords.append((z_coords[(- 1)] + distances[0]))
    c = np.sum(distances)
    fixed_z_coords = ((_z_coords + (distances[0] / 2)) - (c / 2))
    num = len(fixed_z_coords)
    bulk_distance = _distances[int((num / 4))]
    if show_half:
        n = int(((num + 2) / 4))
        _distances = _distances[n:(3 * n)]
        fixed_z_coords = fixed_z_coords[n:(3 * n)]
    line_chart(ax=ax, xdata=_distances, ydata=fixed_z_coords, xlabel=xlabel, ylabel=ylabel, label=label, sort_by='y', **kwargs)
    if decorate:
        xmin = (bulk_distance - 0.025)
        xmax = (bulk_distance + 0.025)
        if show_half:
            ax.hlines(0, xmin=(xmin - 0.01), xmax=(xmax + 0.01), linestyle='--', color='k', linewidth=1.0)
        else:
            tb_idx = [1, int((num / 2)), (num - 1)]
            for idx in tb_idx:
                ax.hlines((fixed_z_coords[idx] - (distances[0] / 2)), xmin=(xmin - 0.01), xmax=(xmax + 0.01), linestyle='--', color='k', linewidth=1.0)
Plot plane.

Args:
    ax: matplotlib ax.
    distances (list): List of plane intervals.
    z_coords (list): List of z coordinate of each plane.
    label (str): Plot label.
    decorate (bool): If True, ax is decorated.
    show_half: If True, atom planes which are periodically equivalent are
               not showed.
def plot_plane(ax, distances: list, z_coords: list, label: str=None, decorate: bool=True, show_half: bool=False, **kwargs):
    '\n    Plot plane.\n\n    Args:\n        ax: matplotlib ax.\n        distances (list): List of plane intervals.\n        z_coords (list): List of z coordinate of each plane.\n        label (str): Plot label.\n        decorate (bool): If True, ax is decorated.\n        show_half: If True, atom planes which are periodically equivalent are\n                   not showed.\n    '
    if decorate:
        xlabel = 'Distance'
        ylabel = 'Hight'
    else:
        xlabel = ylabel = None
    _distances = deepcopy(distances)
    _z_coords = deepcopy(z_coords)
    _distances.insert(0, distances[(- 1)])
    _distances.append(distances[0])
    _z_coords.insert(0, (- distances[(- 1)]))
    _z_coords.append((z_coords[(- 1)] + distances[0]))
    c = np.sum(distances)
    fixed_z_coords = ((_z_coords + (distances[0] / 2)) - (c / 2))
    num = len(fixed_z_coords)
    bulk_distance = _distances[int((num / 4))]
    if show_half:
        n = int(((num + 2) / 4))
        _distances = _distances[n:(3 * n)]
        fixed_z_coords = fixed_z_coords[n:(3 * n)]
    line_chart(ax=ax, xdata=_distances, ydata=fixed_z_coords, xlabel=xlabel, ylabel=ylabel, label=label, sort_by='y', **kwargs)
    if decorate:
        xmin = (bulk_distance - 0.025)
        xmax = (bulk_distance + 0.025)
        if show_half:
            ax.hlines(0, xmin=(xmin - 0.01), xmax=(xmax + 0.01), linestyle='--', color='k', linewidth=1.0)
        else:
            tb_idx = [1, int((num / 2)), (num - 1)]
            for idx in tb_idx:
                ax.hlines((fixed_z_coords[idx] - (distances[0] / 2)), xmin=(xmin - 0.01), xmax=(xmax + 0.01), linestyle='--', color='k', linewidth=1.0)