Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transform the nodes/edges via Appearance based on the time column #2626

Closed
mbastian opened this issue Sep 16, 2022 · 1 comment
Closed

Transform the nodes/edges via Appearance based on the time column #2626

mbastian opened this issue Sep 16, 2022 · 1 comment
Labels
Appearance Dynamics Wishlist New features (not a bug)
Milestone

Comments

@mbastian
Copy link
Member

The Appearance/Ranking module is capable of working with the following column types

  • Numerical columns (int, double, float etc.)
    • The element's value is directly used by the function
  • Dynamic numerical columns (timestamp/intervals)
    • The column Estimator (min, max, avg etc.) is used to "flatten" out the set of timestamps/intervals to obtain a single numerical value
    • The set of timestamps/interval to flatten is either the complete TimeMap object or a subset in case of a filter graph (essentially when the timeline is active)

What is missing is still the timeset column that controls the appearance of elements in the graph. Main use case is to transform the graph so that the time dimension is visualized. For example, if each node is an event I would like to use the color gradient to see which events came first and so on.

Proposed solution

The timestamp or interval column should simply appear in the appearance column chooser.

Behind the scene, each timestamp or interval start/end is already a double number so we can easily use that as the element's value. We do need to "flatten" as well as well to obtain a single value per element. We could attach an Estimator to that column as well.

Alternatives considered

If using an Estimator with Timeset is not possible, we could limit to min or max, but it would be good to be configurable as I see use-cases in both directions.

Additional context

By default, we expect only one column of type TimeSet but if we can we should loosen up that restriction and ideally all column of that type can be used in Appearance easily.

@mbastian mbastian added Wishlist New features (not a bug) Dynamics Appearance labels Sep 16, 2022
@mbastian mbastian added this to the 0.10.0 milestone Sep 16, 2022
mbastian added a commit that referenced this issue Sep 26, 2022
mbastian added a commit that referenced this issue Dec 25, 2022
mbastian added a commit that referenced this issue Dec 25, 2022
@mbastian
Copy link
Member Author

Implemented but with a caveat that would need a deeper change in graphstore. The local scale works but only takes the presence of elements, not the time boundary. In the case of an element with timestamps outside of the current boundary those would still be counted in the min/max calculation. See gephi/graphstore#158.

Let's ship this as is and fix this issue in later release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Appearance Dynamics Wishlist New features (not a bug)
Projects
None yet
Development

No branches or pull requests

1 participant