Объединение путей на диаграмме потока/аллювиала/санкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Объединение путей на диаграмме потока/аллювиала/санки

Сообщение Anonymous »

Моя цель — создать блок-схему, в которой потоки сливаются, по сути, иерархический поток, как на этом рисунке:
[img]https://i .sstatic.net/WtrgN4wX.png[/img]

Существует три уровня (или момента времени), отмеченных зеленым цветом. Трудность, по-видимому, заключается в том, что пути сливаются (т. е. два потока не встречаются в новом потоке, который в два раза толще).
Я не нашел способа сделать это с помощью сюжетно , санки Matplotlib или пиаллювиал. Может быть, хитрость в том, чтобы сложить фигурки друг на друга? Но тогда как я могу определить, где поток заканчивается вертикально на крайнем правом зеленом уровне? Фигура должна быть симметричной (т. е. поток должен заканчиваться посередине по вертикали).
Вишенкой на торте решения было бы то, если бы я мог влиять на то, где поток заканчивается (например, в точке точки отмечены синим цветом).
Редактировать
Я помог себе с помощью графического подхода (который вы можете попробовать сами здесь, скопировав код там).

Код: Выделить всё

g = gt.Graph(directed=False)
g.add_vertex(23)
g.add_edge_list([[0, 4], [1, 5], [2, 6], [3, 7], [4, 8], [5, 8], [6, 9], [7, 9], [8, 10], [9, 11], [10, 12], [11, 13], [12, 14], [13, 14], [14, 15]])
pos = g.new_vp('vector')
a = np.array([[-4.5, 3], [-4.5, 1], [-4.5, -1], [-4.5, -3], [-3, 3], [-3, 1], [-3, -1], [-3, -3], [-1.5, 1.5], [-1.5, -1.5], [0, 1.5], [0, -1.5], [1.5, 1.5], [1.5, -1.5], [3, 0], [4.5, 0], [-4.5, 3], [-4.5, 1], [-4.5, -1], [-4.5, -3], [0, 1.5], [0, -1.5], [4.5, 0]])
for v in range(23):
pos[v] = a[v]
gt.graph_draw(
g = g,
pos = pos,
#vertex_color = 'black',
vertex_fill_color = 'black',
vertex_size = 33,
vertex_pen_width = 0,
edge_pen_width = 33,
edge_color = 'black'
output_size = (200, 200),
output = 'tree.png'
)
Изображение

У меня это работает, но было бы неплохо посмотреть, можно ли это сделать в Matplotlib и т. д.


Подробнее здесь: https://stackoverflow.com/questions/784 ... ey-diagram
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Понимание координат X и Y в диаграмме Санки Санки
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • ПРОТИЛЬ: Как установить позиции узла на диаграмме Санки?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как выровнять узлы на диаграмме Санки в Python?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как выровнять узлы на диаграмме Санки в Python?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Не в состоянии сделать стержни в горизонтальном диаграмме в диаграмме.
    Anonymous » » в форуме Javascript
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»