epezent / implot

Immediate Mode Plotting
MIT License
4.5k stars 495 forks source link

Data points that match the exact maximum value set for the axis are not displayed #558

Open xieyiran opened 3 months ago

xieyiran commented 3 months ago

I've noticed an issue where data points that match the exact maximum value set for the Y axis are not displayed in the plot. To address this, I've added a fixed offset to both the minimum and maximum values when calling ImPlot::SetupAxisLimits():

constexpr double Offset = 0.5; // in order to draw values that exactly equal to min or max
ImPlot::SetupAxisLimits(ImAxis_Y1, 0.0 - Offset, currentPlot.plotMaxValue + Offset, ImGuiCond_Always);

While that works most of the time(for small values like %), I've observed that the issue still persists sometimes, particularly when dealing with very high maximum values. image

One way obvious is to switch from a fixed offset to a percentage-based offset instead. But I'm wondering whether this is the best solution.

Any advice would be appreciated!

Thanks, Yiran