Qu

blur_backdrop

Builtin index · Plotting

blur_backdrop(x0, y0, x1, y1, [radius=])

Input: x0, y0, x1, y1, radius · Output: no output

What it is

Figure-level (not per-panel) depth-of-field effect: (x0,y0)–(x1,y1) (numbers, fractions 0..1 of the whole rendered canvas) name the rectangle that stays sharp; everything else is Gaussian-blurred. radius= (number, blur strength). SVG-native (<feGaussianBlur>); the TikZ export has no filter-primitive equivalent so it degrades to an unblurred render plus an explanatory comment.

Overloads

One call shape — this function is not overloaded.

CodeInputOutputDescription
blur_backdrop(x0, y0, x1, y1, [radius=])
x0 numberFigure-level (not per-panel) depth-of-field effect: (x0,y0)–(x1,y1) (numbers, fractions 0..1 of the whole rendered canvas) name the rectangle that stays sharp.
y0 numberFigure-level (not per-panel) depth-of-field effect: (x0,y0)–(x1,y1) (numbers, fractions 0..1 of the whole rendered canvas) name the rectangle that stays sharp.
x1 numberFigure-level (not per-panel) depth-of-field effect: (x0,y0)–(x1,y1) (numbers, fractions 0..1 of the whole rendered canvas) name the rectangle that stays sharp.
y1 numberFigure-level (not per-panel) depth-of-field effect: (x0,y0)–(x1,y1) (numbers, fractions 0..1 of the whole rendered canvas) name the rectangle that stays sharp.
radius number, optionalradius= (number, blur strength).
no outputSVG-native (<feGaussianBlur>); the TikZ export has no filter-primitive equivalent so it degrades to an unblurred render plus an explanatory comment.

Examples

From the documentation, and run by the build -- the output and the figure below are what the engine actually produced. Simplest first.

t = linspace(0, 1, 200)
y = sin(2 * pi * 5 * t)
plot(t, y)
xspan(0.2, 0.4, color = "orange")
yspan(-0.3, 0.3, color = "green")
arrow(0.6, 0, 0.8, 0.8)
arrowtext(0.85, -0.5, 0.95, 0.2, "peak")
figure()
plot(t, t)
xbreak(0.3, 0.6)
figure()
plot(t, t)
ybreak(0.3, 0.6)
figure()
plot(t, y)
blur_backdrop(0.2, 0.2, 0.8, 0.8, radius = 4)
print(tex([1, 2; 3, 4]))
printtex([1, 2; 3, 4])
output
· plot: figure 39 (200 points)
· plot: figure 40 (200 points)
· plot: figure 41 (200 points)
· plot: figure 42 (200 points)
$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}$
$\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}$
-1.0 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 -1.0 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

from plotting

How it works

blur_backdrop(x0, y0, x1, y1, radius=) — a figure-level (not per-panel) depth-of-field-style effect: (x0,y0)-(x1,y1) are fractions 0..1 of the whole rendered canvas (not panel data coordinates) naming the rectangle that stays sharp; everything else in the figure is Gaussian-blurred behind it. SVG-native via <feGaussianBlur> (see plotting::render_svg); TikZ has no filter-primitive equivalent, so render_tikz degrades to an unblurred render plus a comment noting why, rather than erroring the whole export or silently dropping the request.

From the note above this builtin in the interpreter, where the reasoning was written down as it was built.