У меня есть список кликов на сайте для набора пользователей.Я пытаюсь создать поток кликов по сайту.С кодом ниже я получаю следующий результат. Я бы хотел, чтобы конец первого пакета был соединен с концом второго пакета, в противном случае он выглядит просто странно.
import floweaver as fw
import pandas as pd
df = pd.DataFrame(
data={'event_no': [1, 1, 1, 2, 2, 2, 2, 2, 3, 3],
'source': ['Home', 'Home', 'Home', 'Products', 'Products', 'Products', 'About', 'About', 'Product1', 'Product1'],
'target': ['About', 'Products', 'Other', 'Product1', 'Product2', 'Product3', 'Products', 'Other', 'Buy', 'Buy'],
'value': [100, 300, 150, 150, 75, 50, 50, 10, 20, 10]}
)
size = {'width': 600, 'height': 600}
nodes = {
'Event1': fw.ProcessGroup(df.loc[df['event_no'] == 1, 'source'].unique().tolist()),
'Event2': fw.ProcessGroup(df.loc[df['event_no'] == 2, 'source'].unique().tolist()),
'Event3': fw.ProcessGroup(df.loc[df['event_no'] == 3, 'source'].unique().tolist())
}
ordering = [
['Event1'],
['Event2'],
['Event3']
]
bundles = [
fw.Bundle('Event1', 'Event2'),
fw.Bundle('Event2', 'Event3')
]
nodes['Event1'].partition = fw.Partition.Simple('source', df.loc[df['event_no'] == 1, 'source'].unique())
nodes['Event2'].partition = fw.Partition.Simple('source', df.loc[df['event_no'] == 2, 'source'].unique())
nodes['Event3'].partition = fw.Partition.Simple('source', df.loc[df['event_no'] == 3, 'source'].unique())
sdd = fw.SankeyDefinition(nodes, bundles, ordering)
fw.weave(sdd, df).to_widget(**size)
![enter image description here](https://i.stack.imgur.com/uMTgc.jpg)
Я пытался использовать путевую точку, которая работает, когда у меня только одно событие между ними, но по какой-то причине она не будет работать, когда у меня есть 4+ event_no и использую [2, 3, ...]в качестве путевых точек.
Есть идеи, как сделать эту работу?