Моя цель — создать блок-схему, в которой потоки сливаются, по сути, иерархический поток, как на этом рисунке:
[img]https://i .sstatic.net/WtrgN4wX.png[/img]
Существует три уровня (или момента времени), отмеченных зеленым цветом. Трудность, по-видимому, заключается в том, что пути сливаются (т. е. два потока не встречаются в новом потоке, который в два раза толще).
Я не нашел способа сделать это с помощью сюжетно , санки Matplotlib или пиаллювиал. Может быть, хитрость в том, чтобы сложить фигурки друг на друга? Но тогда как я могу определить, где поток заканчивается вертикально на крайнем правом зеленом уровне? Фигура должна быть симметричной (т. е. поток должен заканчиваться посередине по вертикали).
Вишенкой на торте решения было бы то, если бы я мог влиять на то, где поток заканчивается (например, в точке точки отмечены синим цветом).
Редактировать
Я помог себе с помощью графического подхода (который вы можете попробовать сами здесь, скопировав код там).
Моя цель — создать блок-схему, в которой потоки сливаются, по сути, иерархический поток, как на этом рисунке: [img]https://i .sstatic.net/WtrgN4wX.png[/img]
Существует три уровня (или момента времени), отмеченных зеленым цветом. Трудность, по-видимому, заключается в том, что пути сливаются (т. е. два потока не встречаются в новом потоке, который в два раза толще). Я не нашел способа сделать это с помощью сюжетно , санки Matplotlib или пиаллювиал. Может быть, хитрость в том, чтобы сложить фигурки друг на друга? Но тогда как я могу определить, где поток заканчивается вертикально на крайнем правом зеленом уровне? Фигура должна быть симметричной (т. е. поток должен заканчиваться посередине по вертикали). Вишенкой на торте решения было бы то, если бы я мог влиять на то, где поток заканчивается (например, в точке точки отмечены синим цветом). Редактировать Я помог себе с помощью графического подхода (который вы можете попробовать сами здесь, скопировав код там). [code]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' ) [/code] [img]https://i.sstatic.net/nSLkRSUP.png[/img]
У меня это работает, но было бы неплохо посмотреть, можно ли это сделать в Matplotlib и т. д.
Я пытался создать пользовательскую основу в карте Санки, мои определенные координаты X и Y. Однако это не оказалось так, как я ожидаю.import plotly.graph_objects as go
Нужна некоторая помощь в соответствии с моей диаграммой Санки. Я пытался вручную установить и координаты x/y, но все же не до того, что я хочу. Вот немного сгенерированных данных, с которыми я работаю, вместе со всеми сценарием для диаграммы. import...
Нужна некоторая помощь в соответствии с моей диаграммой Санки. Я пытался вручную установить и координаты x/y, но все же не до того, что я хочу. Вот немного сгенерированных данных, с которыми я работаю, вместе со всеми сценарием для диаграммы. import...
Я попробовал все варианты, но конечные стержни близки к границе, а другие бары не являются центром. Я попытался использовать все варианты для горизонтальной диаграммы из документации chart.js, но стержни не соответствуют центру. Новичок в...