ScottPlot / ScottPlot/ScottPlot
LockedVerticalRule combined with SignalXY causes jank when panning
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.8k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
Issue: (Describe the bug here)
I applied LockedVerticalRule to each subplot in the MultiPlotDraggable Subplots demo in the avalonia samples. When doing so, the candlestick and barchart behave exactly as expected, but with the Signal/SignalXY, I get jank. The line rendered will jump around dragging within the normal constraints,
ScottPlot Version: (What NuGet package are you using?)
Happens in 5.0.55 and master in the latest clone I've done of this repo
Code Sample:
Where there is a loop in the MultiPlotDraggableWindow.cs file, I literally modified the loop to apply vertical rules like this to every subplot.
foreach (Plot plot in AvaPlot.Multiplot.GetPlots())
{
plot.Axes.Left.LockSize(10);
plot.Axes.Right.LockSize(80);
var axisLimits = plot.Axes.GetLimits(plot.Axes.Bottom, plot.Axes.Right);
LockedVertical lockedVertical = new (plot.Axes.Right, axisLimits.YRange.Min,axisLimits.YRange.Max);
volumePlot.Axes.Rules.Add(lockedVertical);
volumePlot.Axes.AutoScale();
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the MultiPlotDraggableWindow.cs loop in the Avalonia MultiPlotDraggable Subplots demo and reproduce the behavior using LockedVertical with Signal/SignalXY. Compare panning there with the candlestick and barchart subplots, using ScottPlot 5.0.55 or master. Done means the Signal/SignalXY line no longer jumps while dragging within the normal constraints.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100