def plot_diagram(figure, points=(), marked_points=(), colored_points=()):
    """
    Plot a single diagram.

    Parameters
    ----------
    figure : matplotlib.figure.Figure
        A single figure.
    points : tuple
        A tuple made of two masked_arrays. The arrays store x, y coordinates
        of each point which is plotted on a diagram.
    marked_points : tuple
        A tuple made of two subtuples. Each subtuple stores x, y coordinates
        of each marked point, respectively.
    colored_points : tuple
        A tuple made of three subtuples. Each subtuple stores x, y coordinates
        and a string with color name, respectively. A single coordinate is
        stored in a masked_array.
    """
    ax = figure.axes[0]
    ax.scatter(points[0], points[1], 60, c='gray', alpha=0.4, zorder=1)
    if marked_points != ():
        ax.scatter(marked_points[0], marked_points[1], 100, c='red', alpha=
            1.0, zorder=3)
    if colored_points != ():
        for cp in colored_points:
            ax.scatter(cp[0], cp[1], 60, c=cp[2], alpha=0.6, zorder=2)
    ax.scatter(points[0], points[1], 50, alpha=0.0, picker=3)
    figure.canvas.draw_idle()
