Here is a quick patch to demo the addition of an “All (by depth stats)” group in the Yearly Statistics widget.
Two caveats: 1) I used asprintf to format the labels for the depth ranges. That works fine including <stdio.h> on OS X, but on Linux it looks like I need to define _GNU_SOURCE in the source file. For now it is simply warning of an implicit definition of asprintf when compiling on Linux. 2) The depth range labels are hardcoded in Meters. I haven’t started figuring out how to apply the unit preferences to them. The labels are written into the structure in core/statistics.c (same as the trip location and the dive mode/type). At some point I think it would make sense to move those into the Qt widgets since it is a bit of a hack right now using the *location string to label each line in the statistics that is not a year or month. -Doug
0001-Add-statistics-by-dive-depth.patch
Description: Binary data
> On Mar 5, 2019, at 10:25 AM, Doug Junkins <[email protected]> wrote: > > As long as we don’t call it Subsurface X... > >> On Mar 5, 2019, at 9:56 AM, Dirk Hohndel <[email protected]> wrote: >> >> 4.9 is the next release that I hoped to start working on about two weeks ago >> (which clearly didn't happen). Just for context. >> >> If and when we redo the divesite logic (and discussion on this seems to have >> fallen dormant again - which could mean that Linus and Berthold are busy >> writing code... or more likely that Linus is drowning in Linux merge window >> pull requests and Berthold is back focusing on the undo code) that will >> likely be a Subsurface 5.0 thing (not that our version numbers mean a lot, >> but now that Linux is at 5.0, we need to catch up... just kidding... this is >> a fairly significant change…) > > Yeah, I’m watching the discussion in the thread about undo and realize we are > a ways away from refactoring the divesite logic. > >>> On Mar 5, 2019, at 9:50 AM, Doug Junkins <[email protected]> wrote: >>> >>> I’m a little late to the game here, but one thing I would like to see >>> (besides a way to share divesites between multiple users) is some more >>> detailed statistics. >>> >>> The “yearly statistics” are a good starting point, but I would like to see >>> my statistics based on things like depth of the dive, water temperature, >>> people I dove with, and tags. I also think now that the filter system is >>> updated and more usable, the statistics should be based on the filtered >>> list of dives (or have an option to display statistics on the filtered >>> divelist.) >>> >>> Doing a quick search for “statistics” in the User Forum indicates that this >>> is something people would like to see, but it was closely tied to the >>> filter update as far as I can tell. If no one else is already working on >>> updating the stats widgets, I can take a stab at it. >> >> Statistics are definitely something where I'm open to new categories. We >> should make sure we understand how we want to visualize that - another sad >> story of me doing a poor job of creating a shared vision with the key >> developers and then seeing that implemented. >> So let's talk about what you want to show and how. > > 1) I see depth and temperature as the low-hanging fruit since they don’t > involve the issue with dives having multiple buddies or tags. They would make > a good first step since the same logic and visualization that is used to > split the yearly statistics into trips and types could be used with depths > and temperatures in buckets. Something like 10m buckets for max depth and 5ºC > for minimum temperature would make sense. This would provide some nice > additional stats with minimum effort. > > 2) Whether to do the statistics on the filtered divelist or the full divelist > would be the next question to answer. One option would be to add a menu item > below the “Yearly statistics” called “Filtered statistics.” When that is > fully functional, it could replace the “Yearly statistics” if we decide it > makes sense. > > 3) People and tags could be added next if we can agree on the logic of how to > handle dives with multiple people and/or tags. My choice would be that the > categorization would be for each person you dove with, even if that means > that a dive shows shows up in multiple people’s stats. For example, if I dove > with Bob 3 times and Jim 4 times and both Bob and Jim 2 times, the stats > would show that I dove with Bob 5 times and Jim 6 times, even though the > summary shows I only dove 9 times. The same logic would apply to tags. > > 4) The presentation of the statistics could be addressed later. Some stats > lend themselves to a bar chart or line chart presentation. Having a framework > for graphical visualization of stats would be useful, but it is probably > beyond my capabilities at this point. > > Let me see if I can do a mockup of what I’m talking about for #1 and #2. > > -Doug > >
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
