joweich/chat-miner

Graphs for each person in conversation

vactomas opened this issue · 4 comments

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:

  • calendar heatmap for whole chat, and other figures under it featuring heatmap for different users
  • one radar chart figure containing two different graphs with the same scale – would allow comparison between two (maybe even more) people

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.

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?

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

@vactomas is this still on your radar?🙂

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.