gephi / gephi-plugins

Repository for Gephi Plugins maintained by the team. Each plugin has it's branch.
270 stars 623 forks source link

support for GUI features? (manipulation of the timeline, zoom...) #15

Open seinecle opened 12 years ago

seinecle commented 12 years ago

Hi,

Great plugin! Is it planned to extend it to the manipulation of the timeline (pausing, changing speed, etc.) and other features of the GUI (zooming, node selection, etc.)

Thanks!

Clement

jbilcke commented 12 years ago

Which plugin (branch) are you talking about?

seinecle commented 12 years ago

oops sorry that is for the Python (GUESS) plugin.

luizribeiro commented 12 years ago

Hey @seinecle. Thanks for your interest on the plugin!

I have been experimenting with the Visualization API support today. I pushed my experiments to the plugin's branch. Basically, it allows you to control the node/edge selection like this:

# Selects nodes v1 and v3
>>> selectNodes([v1, v3])
# Selects edge e3
>>> selectEdges([e3])
# Selects the entire resulting subgraph (nodes and edges) of a query (degree > 3):
>>> selectSubGraph(g.filter(degree > 3))
# ...or to select only the nodes of that subgraph:
>>> selectNodes(g.filter(degree > 3).nodes)
# To reset the current selection:
>>> resetSelection()
# Centers the visualization on a node:
>>> center(v3)

What do you think? These (or a modified version) should be available on the next plugin's release.

About the timeline support, I would like to see that too, but I never used the timeline feature actually. Do you have any suggestions about how it could work from within the console? I'm open to ideas.

jbilcke commented 11 years ago

I don't know if this is possible with the current implementation (I'm having a look at the code) but something basic like:

selectSubGraph(g.filter(timestamp > 1366194181))

would already allow a lot of use cases (eg. filter using a timestamp generated from a python Datetime object, increment using a for-loop to create PNG snapshots at regular intervals and create videos in only 4 lines of code..)