<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _print_graph(targets, components, tasks):
 """ Print dependency information using a dot directed graph. The graph will contain explicitly requested targets plus any dependencies. If there's a circular dependency, those nodes and their dependencies will be colored red. Arguments targets - the targets explicitly requested components - full configuration for all components in a project """

    indentation = " " * 4
    _do_dot(
        targets,
        components,
        tasks,
        lambda resolved, dep_fn: dep_fn(indentation, resolved),
    )