### Description

Recently, we added [a new DAG dependencies view](https://github.com/apache/airflow/pull/13199) to the webserver. It would be helpful if a similar diagram could also be displayed/generated using the CLI. For now, only [one DAG can be displayed](http://airflow.apache.org/docs/apache-airflow/stable/usage-cli.html#exporting-dag-structure-as-an-image) using CLI.
![image](https://user-images.githubusercontent.com/12058428/137945580-6a33f919-2648-4980-bd2c-b40cfcacc9fe.png)

If anyone is interested, I will be happy to help with the review.

### Use case/motivation

* Keep parity between CLI and web serwer.
* Enable the writing of scripts that use these diagrams, e.g. for attaching in the documentation.

### Related issues

https://github.com/apache/airflow/pull/13199/files

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/cli/cli_parser.py
executor_cls,
                    (celery_executor.CeleryExecutor, celery_kubernetes_executor.CeleryKubernetesExecutor),
                ):
                    message = (
                        f'celery subcommand works only with CeleryExecutor, CeleryKubernetesExecutor and '
                        f'executors derived from them, your current executor: {executor}, subclassed from: '
                        f'{", ".join([base_cls.__qualname__ for base_cls in executor_cls.__bases__])}'
                    )
                    raise ArgumentError(action, message)
        if action.dest == 'subcommand' and value == 'kubernetes':
            try:
                import kubernetes.client  
            except ImportError:
                message = (
                    'The kubernetes subcommand requires that you pip install the kubernetes python client.'
                    "To do it, run: pip install 'apache-airflow[cncf.kubernetes]'"
                )
                raise ArgumentError(action, message)
        if action.dest == 'subcommand' and value == 'triggerer':
            if not PY37:
                raise ArgumentError(action, 'triggerer subcommand only works with Python 3.7+')
        if action.choices is not None and value not in action.choices:
            check_legacy_command(action, value)
        super()._check_value(action, value)
    def error(self, message):
        """Override error and use print_instead of print_usage"""
        self.print_help()
        self.exit(2, f'\n{self.prog} command error: {message}, see help above.\n')
_UNSET = object()
class Arg: