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

Timeline sparkline bug #615

Closed
sheymann opened this issue May 5, 2012 · 5 comments
Closed

Timeline sparkline bug #615

sheymann opened this issue May 5, 2012 · 5 comments
Assignees
Milestone

Comments

@sheymann
Copy link
Member

sheymann commented May 5, 2012

Way to reproduce:

  • File > Generate > Dynamic Graph Example
  • Statistics > Dynamic # Nodes > Run with window size = 2, tick = 1
  • Timeline > Charts > Node Count

Screenshot: http://imageshack.us/photo/my-images/443/timelinebug.png/

@ghost ghost assigned mbastian May 5, 2012
@eduramiba
Copy link
Member

This is caused by any dynamic statistic that takes a window > step.
This produces intervals that overlap, and that is why these strange graphics appear.

For example 9.66 to 10.66 then 10.16 to 11.16

Maybe we can add validation so the user can't input a step lower than the window.

@sheymann
Copy link
Member Author

sheymann commented May 5, 2012

No, this is intentional: this is how sliding windows work, and they are very useful. An acceptable solution is to rebuild intervals so that they are reduced. In your example, 9.66 to 10.16 then 10.16 to 11.16. Another example:

Computed intervals are on 0 to 2, 1 to 3, 2 to 4, 3 to 5. Then they are rebuilt as:
0 to 1, 1 to 2, 2 to 3, 3 to 4, 4 to 5.

But this is a bad example, we should consider the dynamic metrics as follows. Each value is computed from a starting point to a starting point + size of the window. Then we add the tick to the starting point, and compute a new value. So the sparkline should draw this value at each starting point until the new starting point.

Is it clearer? You may refer to the image embedded in Gephi dynamic metrics, icon help (i).

@sheymann
Copy link
Member Author

Eduardo, can you provide guidance to help me fix this bug? However if it touches to Gephi architecture I must let you do it.

@eduramiba
Copy link
Member

Hi,
This only needs a simple code addition to TimelineControllerImpl (starting at line 310) in Desktop Timeline module.

My idea is:
Build levels from intervals start up to intervals end, unless next interval start is before current interval end. In that case, current level only goes from current interval start to next interval start, and so on.

Here is the necessary code if that matches your idea https://gist.github.com/2705818 Tested it seems to work fine.

@ghost ghost assigned sheymann May 16, 2012
sheymann added a commit that referenced this issue May 20, 2012
@sheymann
Copy link
Member Author

So simple once you know the answer :) Thanks @eduramiba!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants