graphia-app / graphia

A visualisation tool for the creation and analysis of graphs
https://graphia.app
232 stars 20 forks source link

Visualizing bidirectional edges? #44

Open bg-alt opened 2 years ago

bg-alt commented 2 years ago

Hi there, thanks for Graphia, it's fantastic.

I'm curious if I've missed a way to see bidirectional edges:

image

This is a graph of this text file:

a b
b a
b c
a c

The multi-element indicator shows up, but it could just indicate two a b edges in the same direction; it's impossible to tell at a glance if the edge is bidirectional.

I would expect an arrowhead at both ends but I can't figure out if that's supported or how to make it work. :)

bg-alt commented 2 years ago

By the way, my use case here is forensic analysis of fraud--maybe not what Graphia was intended for but it works better than anything else I've tried!

timangus commented 2 years ago

Ah no, there is currently no provision for that, sorry. For the main use case Graphia was developed for where the primary concern is the strength of the relationship, edge direction isn't really relevant. You're right though, it would be helpful to know if an edge is bidirectional in the multi-edge case. Hmm, I'll get around to this at some point. (For the intrepid you'd need to add a new type of edge to EdgeVisualType in graphrenderer.h, deal with setting the values of this type correctly, then adjust instancededges.vert to do the actual rendering.)

Thanks for your positive comments. Interestingly, when Graphia was still being developed as a commercial product, fraud detection was one of the use cases we had identified, but I guess we never managed to find a willing customer in this space. Good to hear it (eventually) proved useful here!