joweich / chat-miner

Parsers and visualizations for chats
MIT License
567 stars 56 forks source link

Graphs for each person in conversation #71

Closed vactomas closed 1 year ago

vactomas commented 1 year ago

Feature request – graphs for each person in conversation

It would be great, if we could create graphs separate for each person in the conversation. This way, there would be even more data points, which we could use for “analysis” or simply our amusement.

Examples:

The first example could be more useful for groups, and the latter one for 1on1 chats, in my opinion.

Which steps would have to be taken to achieve this?

I'd be interested in helping out, and later implementing it into my GUI.

joweich commented 1 year ago

Hey @vactomas, This logic would create a new chart for every author in the chat/group (applicable for all chart types):

for author in parser.df["author"].unique():
    vis.radar(parser.df, ax=ax[0], authors=author)

For several graphs in the same chart however, we would need to add logic to the project. This isn't too complicated. Does this make sense for charts other than the radar?

vactomas commented 1 year ago

I'd say, it makes sense, even for the heatmap in group chats, as you could take a look at who participates when.

I'll look into it once I have a moment of time, and create a PR once it's done

joweich commented 1 year ago

@vactomas is this still on your radar?🙂

vactomas commented 1 year ago

Hey, I looked into it, and subsequently forgot to write an answer 😅

Essentially, I don't think there is a need to change anything code wise. I managed to do everything I needed without modifying the library itself. One just needs to add a simple logic to their code that will handle these cases.