The threshold parameter for month graphs has consistent behavior, regardless of whether circleColorByValue is set.
Current Behavior
The threshold field for month graphs does nothing when circleColorByValue (along with yMin and yMax) are set.
Possible Solution
The block of code I link below to const showCircle = curValue != null && curValue > threshold;. This should be the sole consideration for whether a value is set/
Steps to Reproduce (for bugs)
Create a tracker of type month with parameters similar to this:
It was added in this commit which made a handful of changes.
However, I can't think of any convincing reason why this behavior should be in place. I found it very surprising to set a threshold and find that it had no effect. While obviously the color will give me a sense of whether the value is near the threshold, in some situations I may care a lot of about the value being exactly 0 vs. it being very small.
The best argument I can think of for this current behavior is: "Many people don't set any threshold, in which they are not expecting there to be any threshold. So, it is surprising to the user when they try using circleColorByValue with a yMin beneath the default value of threshold (0) and find that the circle don't appear". However, this isn't problem isn't specific to using circleColorByValue, and actually the core problem is that the default value of threshold is 0 instead of "no threshold" (but I know that making that change would be something of a breaking change, and potentially annoying for some users).
Expected Behavior
The
threshold
parameter formonth
graphs has consistent behavior, regardless of whethercircleColorByValue
is set.Current Behavior
The
threshold
field formonth
graphs does nothing whencircleColorByValue
(along withyMin
andyMax
) are set.Possible Solution
The block of code I link below to
const showCircle = curValue != null && curValue > threshold;
. This should be the sole consideration for whether a value is set/Steps to Reproduce (for bugs)
Create a tracker of type
month
with parameters similar to this:In a note, set the value equal to 0 for a day. Note that the circle still appears.
Context
This isn't exactly a bug, since from the code it's clear this is completely intentional:
https://github.com/pyrochlore/obsidian-tracker/blob/3550d12f79253ec1d06a94fb70ce469c2f0eccb5/src/month.ts#L646-L665
It was added in this commit which made a handful of changes.
However, I can't think of any convincing reason why this behavior should be in place. I found it very surprising to set a threshold and find that it had no effect. While obviously the color will give me a sense of whether the value is near the threshold, in some situations I may care a lot of about the value being exactly 0 vs. it being very small.
The best argument I can think of for this current behavior is: "Many people don't set any
threshold
, in which they are not expecting there to be any threshold. So, it is surprising to the user when they try usingcircleColorByValue
with ayMin
beneath the default value ofthreshold
(0) and find that the circle don't appear". However, this isn't problem isn't specific to usingcircleColorByValue
, and actually the core problem is that the default value ofthreshold
is 0 instead of "no threshold" (but I know that making that change would be something of a breaking change, and potentially annoying for some users).