Fix label clipping during rotation by adding ViewScaleFactor and reducing plot area #138
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When rotating 3D plots, axis labels and ticks were being clipped when they extended outside the available space. Additionally, rotated axes could interfere with plot titles, creating an overlapping and unprofessional appearance.
Previously, users had to work around this by using
ImPlot3DFlags_NoClip
, which prevented clipping but allowed plot content to extend beyond proper boundaries.Solution
This PR implements a comprehensive fix by making the plot area smaller and adding user configurability:
1. Renamed
GetBoxZoom()
toGetViewScale()
2. Reduced Plot Area for More Margin
3. Added
ViewScaleFactor
Style VariableImPlot3DStyleVar_ViewScaleFactor
enum1.0f
(maintains new behavior)PushStyleVar
/PopStyleVar
for per-plot customizationUsage Examples
Impact
Benefits
ViewScaleFactor
The fix eliminates the need for
ImPlot3DFlags_NoClip
workarounds while providing users fine-grained control over the plot area vs. margin trade-off.Fixes #133.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.