psyplot / psyplot-gui

Graphical User Interface for the psyplot package
https://psyplot.github.io/psyplot-gui
7 stars 6 forks source link

NEW FEATURE: Add > and >> buttons #7

Closed Chilipp closed 4 years ago

Chilipp commented 4 years ago

Summary

Add buttons to update dimensions and animate them

Reason

Particularly for time, this better helps to investigate changing behavior of a variable (see also https://github.com/Chilipp/psyplot/issues/10)

Detailed explanation

It is straight-forward to introduce some kind of > and < buttons. >> and << however are more tricky because of the event loop. If we do something like

for t in range(10):
    sp.update(time=t)

we would not see anything updating because matplotlib does the drawing after the loop. Maybe one can circumvent this by spawning the loop in a separate process, but this needs to be tested.

Examples

ncview has buttons like this

image

Pinging @MuellerSeb

MuellerSeb commented 4 years ago

In general, it would be nice, if selecting dimensions could be easier. For example if you have a time-series of an variable for a fix x-y combination on a map, it would be nice to simpler update the x-y combination. In ncview, you can click on the map, to get the time-series plot for this point. This should also be quite easy, since the psy-plot gui also supports multiple plots, and matplotlib supports interactive retrieving of coordinates by clicking: https://matplotlib.org/3.1.1/users/event_handling.html. These event handling capabilities could also be used to "scroll" through the time by actual scrolling.

I really like the idea to provide all the format options in a simple interface! But the most common ones should be easier accessible (to select another x-dim I have to do several clicks...).

I also like some ideas for formatting from this project: https://github.com/dmnfarrell/pandastable

Which is quite similar, but sticks to 2D data since it is build on pandas.

Overall I really really like this project and I think with some little tweaks (the last 20% imply 80% of the work) this tool could really compete with ncview!

Keep up the cool work and thanks for the effort! Sebastian

Chilipp commented 4 years ago

Hey @MuellerSeb, yes, the GUI definitely needs to be more user-friendly. It was not the focus during my PhD, but with my new position as a Data Scientist, I hope that I can implement more functionalities and make the package more user-friendly. However, I just started at the Helmholtz-Center in Geesthacht (HZG), so I cannot say at the moment how much time there will be to implement new features from my side, and since I am currently the only developer, it's a bit tough. However, I do want to have a plan for the comming year by the end of december and make a schedule for this package as well for development of the entire psyplot-framework. Therefore I am collecting general ideas in https://github.com/Chilipp/psyplot/issues/12 and I highly appreciate your input here. I have to present the usefulness of psyplot in order to free some time for further development.

I am looking forward discussing and implementing these features in https://github.com/Chilipp/psyplot/issues/12 and I would also like to implement the event-handling and the better interface to update formatoptions.

Chilipp commented 4 years ago

Sorry, for opening so many issues here, I just would like to separate feature specific issues (such as here) from general issues that discuss the general strategy for psyplot

Chilipp commented 4 years ago

Closing in favour of psy-view and https://github.com/psyplot/psy-view/issues/11