Это зависит от того, что вы называете «блок-схемой». Если блок-схема простой вид, т.е. ориентированный граф, где ни один узел не указывает вверх (на узел, который, возможно, был посещен ранее), тогда вы описали дерево , вложение которого в плоскость тривиально.
Если, однако, ваша потоковая диаграмма имеет циклы (циклы), тогда просто построить контрпример, график, который не не встраивается в плоскость. Для надуманного примера (так как никаких ограничений не было заявлено) рассмотрим полный граф K5, в котором каждый узел связан с любым другим. Этот график не плоский.
Что касается рисования графиков, я бы порекомендовал отличный инструмент GraphViz , который рисует (среди прочего) красивые блок-схемы с автоматическим макетом. Вы можете выбрать механизм рендеринга, который пытается сохранить некоторый порядок в вашем графике, и существует явная опция для иерархических графиков.