user618815
user618815

Reputation:

Are there event listeners to detect mouse clicks on dot/SVG graph?

I am playing with generating dot files and then turned them into SVG graphs with a lot of nodes.

My question is that are there event listeners to detect mouse clicks on dot/SVG graph nodes?

For example, right click on a node in the SVG graph, I do something(maybe get the related information from the node and then do something),

Then how to generate dot file or SVG file to achieve this?

Upvotes: 4

Views: 3885

Answers (3)

Duke
Duke

Reputation: 357

Just another thought on this (realizing the question is old, but maybe it helps someone coming across).

Depending on what you want to do, it may be easiest to decouple the event handling from the drawing. I mean, you can find out where graphviz positions the nodes (as well as edges, labels etc.), see, for example, this post on how to do it in python. Then you can paint the graph in the background of whatever GUI you're using, and use its native event handling to react on on_click by placing invisible clickable objects over the nodes.

Upvotes: 3

Erik Dahlström
Erik Dahlström

Reputation: 60966

If you want interactive graphs then graphviz might not be the best choice.

I'd recommend having a look at D3.js. Perhaps you could construct the graph data in json and load them with D3?

Upvotes: -1

marapet
marapet

Reputation: 56446

There are several ways to create an interactive SVG graph:

In any case, you'll have to display the svg graphs in a client which supports any of those technologies (browser), and you will have to code it in addition to the svg output graphviz creates.

Upvotes: 3

Related Questions