refline — Add a reference line y = m*x + b to the current or specified axes.

refline appends straight reference lines to the current or specified axes and returns the created line handle or handles when requested. With no coefficients it adds least-squares lines for eligible scatter-style series in the axes. With coefficients it draws y = m*x + b over the current x-axis span.

Syntax

refline()
refline(coeffs)
refline(m, b)
refline(___, LineSpec, Name, Value)
refline(ax, ___)
h = refline(___)
h = refline(ax, ___)

Inputs

NameTypeRequiredDefaultDescription
coeffsNumericArrayYesTwo-element vector [slope intercept].
mNumericArrayYesLine slope.
bNumericArrayYesLine y-intercept.
styleAnyVariadicOptional LineSpec or line Name/Value pairs.
axAxesHandleYesTarget axes handle.

Returns

NameTypeDescription
hNumericArrayLine graphics handle.

Errors

IdentifierWhenMessage
RunMat:refline:InvalidArgumentAxes handle, coefficient inputs, or style options are malformed.refline: invalid argument
RunMat:refline:InternalRunMat cannot construct or register the reference line.refline: internal error

How refline works

  • refline() and refline(ax) add least-squares reference lines for scatter-style series in the current or specified axes, matching MATLAB's lsline-style behavior.
  • refline([m b]) and refline(m,b) draw a line with slope m and intercept b; coefficients must be finite numeric scalars.
  • refline(ax,...) targets the supplied axes handle.
  • The line uses explicit XLim when present. If x-limits are automatic, RunMat derives a finite x span from the target axes' visible data bounds and falls back to [0,1] only when no finite span is available.
  • As a RunMat extension, optional LineSpec and line Name/Value pairs such as Color, LineStyle, LineWidth, and DisplayName are accepted using the same parser as line plotting builtins.
  • The return value is a line graphics handle compatible with get and set for line properties such as XData, YData, Color, LineStyle, LineWidth, and DisplayName.

Examples

Add a least-squares reference line to a scatter plot

scatter(x, y);
h = refline;

Add a line with slope and intercept

h = refline(2, 1);

Use coefficient vector form and style the line

h = refline([0.5 3], '--r', 'DisplayName', 'reference');

Target a specific axes

ax = subplot(1,2,2);
refline(ax, [1 0]);

Using refline with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how refline changes the result.

Run a small refline example, explain the result, then change one input and compare the output.

FAQ

Does refline compute a least-squares fit?

Yes, when called without explicit coefficients it adds least-squares lines for eligible scatter-style series in the axes. When coefficients are supplied, it draws exactly y = m*x + b and does not fit a model.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how refline is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.