Open JSiv opened 1 year ago
Hi @JSiv and thanks for this new plugin, looks exciting.
My first comment is why did you copy all the existing layouts in your code? Why not just reuse the classes from the
LayoutPlugin
module?
Hi @mbastian ,
Thank you.
The layouts here is a slightly modified version of the original codes. For force directed layouts, I tried to modify the GraphModel API
to pass only a selected no of nodes to the algorithm, but it didn't work, so i copied the existing layout code and modified it based on my needs. Also, I have added the files as separate (resulting in some redundant codes) in order to add the appropriate copyright licenses.
The layouts here is a slightly modified version of the original codes. For force directed layouts, I tried to modify the
GraphModel API
to pass only a selected no of nodes to the algorithm, but it didn't work, so i copied the existing layout code and modified it based on my needs. Also, I have added the files as separate (resulting in some redundant codes) in order to add the appropriate copyright licenses.
Thanks for the clarification. I'm not a fan of having this amount of code duplication. A bit of duplication is fine but here it's really a lot, even for a plugin. There must be another, more elegant way to achieve what you want. Can you be more specific on what you were trying to do but couldn't? Seems like running a layout on a subset of nodes was your intention?
Thanks for the clarification. I'm not a fan of having this amount of code duplication. A bit of duplication is fine but here it's really a lot, even for a plugin. There must be another, more elegant way to achieve what you want. Can you be more specific on what you were trying to do but couldn't? Seems like running a layout on a subset of nodes was your intention?
Hi @mbastian,
Yes, I was trying to pass a subset of nodes to the layout algorithm. Is there any way to do it?
Hi @mbastian
I've used NodePartitionFilter
from org.gephi.filters.plugin
to pass a subset of nodes to the layout algorithms and removed all the redundant codes.
Changes:
When the user wants to create a visualization based on the any edge properties (eg: label, weight), a new column is added to the node table named mviz_edge_*edge property*
. From this newly created column , NodePartitionFilter
is used to extract the subset of nodes (nodes which are connected by edges with same property). And if a node is connected by different edges with different properties, the node is only shown in the first layer (i.e only first property is taken into consideration). .
New plugin or plugin update?
What is the purpose of this plugin?
Visualization of Multilayered/Multidimensional Networks
How to test the plugin in Gephi?
After Selecting the Plugin:
If Layout Algorithm Selected is a Force Directed Algorithm
Split By Level
More Details at https://arxiv.org/pdf/2209.03149.pdf