wish: lower line graph interval to display more dots

Bug #2038623 reported by Adam Dingle
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HomeBank
New
Wishlist
Unassigned

Bug Description

I'm running HomeBank 5.7 on Ubuntu 23.04 with GTK 3.24.37.

In the balance report window, I'd like to see the balance over time in one of my accounts, scaled horizontally to fit in the window (so I don't have to scroll), with the X axis proportional to actual time.

It seems that currently there's no way to achieve this. If I choose 'Interval: Day' and clear the 'Show empty line' box, then the graph shows one point for each day on which the balance changed, but the points are all spaced equally horizontally! For example, if I had a transaction on 6/14, 6/15, and then not again until 10/1, the horizontal distance between 6/14 and 6/15 will be the same as the distance between 6/15 and 10/1. This distorts time. In my opinion, in this view each point's X position should instead be proportional to its actual distance (in time) from the start date.

Or, I can choose 'Interval: Day' and check the 'Show empty line' box. Then the graph shows one point for every day, so the X axis is no longer distorted. That's good. However, then even if I move the 'Zoom X' slider all the way to the left, the graph does not fit in the window. (I'm looking at a time range that spans about two years.) That's awkward - I'd like to see the whole balance history at a single glance.

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

At first your title is not accurate : there is no distortion but only different option of display with show/hide empty lines, so when the balance has no variation.

The minimum zoom is currently set to 8 item width, mostly because for bar less than that make then not distinguishable each.

So indeed if you like to display a 2 years by days it will requires only for the graph area 365*2*8 pixel, so 5840 pixel wide, event a 4k display (3840) will not.

So at the end what you would like is to lower this minimum for line graph to display more dots.

summary: - x axis in balance report distorts time
+ wish: lower line graph interval to display more dots
Changed in homebank:
importance: Undecided → Wishlist
Revision history for this message
Adam Dingle (adam-yorba) wrote :

When I wrote "distortion", I meant only that the X scale is not linear when 'Show empty line' is not checked. For example, if the X axis looks like this:

  Dec 1 '22 Jan 1 '23 Mar 1 '23 Apr 1 '23
    | | | |
    A B C D

I would call that distorted, because the distance in time between points A and B (1 month) is not the same as the distance in time between points B and C (2 months), even though the physical distances are the same. Instead, you could draw the graph like this, putting more horizontal space between points C and D:

  Dec 1 '22 Jan 1 '23 Mar 1 '23 Apr 1 '23
    | | | |
    A B C D

Then the display would be linear, i.e. not distorted.

In any case, lowering the minimum zoom would also help, since then I could choose 'Show empty line', which gives a linear display, and then zoom until the entire graph is in view. You wrote "mostly because for bar less than that make then not distinguishable each." Well, you don't necessarily need to draw a pixel for every day. Suppose that the graph spans 10 years, which is 3650 days, but the window is only 1000 pixels wide. You could choose to draw one pixel for every 3.65 days, skipping the intervening days. That might look better.

Revision history for this message
Adam Dingle (adam-yorba) wrote :

p.s. The pictures that I attempted to draw in ASCII above didn't come out right - I didn't realize that Launchpad would replace sequences of spaces by a single space. I'll try again, using dots instead of spaces. Here is the distorted, non-linear view:

..Dec 1 '22.......Jan 1 '23.......Mar 1 '23......Apr 1 '23
......|...............|...............|..............|....
......A...............B...............C..............D....

Instead, you could draw each dot at an X-position proportional to its time:

..Dec 1 '22...... Jan 1 '23..................... Mar 1 '23.......Apr 1 '23
......|...............|..............................|..............|....
......A...............B..............................C..............D....

Revision history for this message
Maxime DOYEN (mdoyen) wrote (last edit ):

Yes, I understood you right.

The purpose of "show empty line"=off is to get only relevant dots to display useful ones only, so yes it is not time accurate,

if I introduce what you suggest the gain is no more there, only the "show empty line"=on is time accurate as it shows all interval stops, but require depending on interval a lot of width.

proportional is useless here as it will require the same width than "show empty line"=on...

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

SO the only way to draw more dots is to reduce the interval, is this will suit your wish ?

Changed in homebank:
status: New → Incomplete
Revision history for this message
Adam Dingle (adam-yorba) wrote :

When you say "reduce the interval", do you mean increasing the maximum possible zoom level controlled by the "Zoom X" slider, so that I can zoom in more than now? If so then yes, I think that will help because then I'll be able to see the entire graph without scrolling, with a time-accurate display.

Changed in homebank:
status: Incomplete → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.