pymor.tools.plot
¶
Module Contents¶
- pymor.tools.plot.adaptive(f, a, b, initial_num=10, max_num=2000, angle_tol=2, min_rel_dist=0.01, aspect_ratio=4 / 3, xscale='linear', yscale='linear')[source]¶
Adaptive sampling of a
NumPy array
-valued function.Samples the function such that the piecewise linear interpolation looks “smooth”.
If the function is complex-valued, it is assumed that the magnitude and phase should be plotted.
- Parameters:
f – The function to sample.
a – The left bound.
b – The right bound.
initial_num – Initial number of linearly spaced sampling points.
max_num – Maximum number of sampling points.
angle_tol – Tolerance for the maximum pointwise angle in degrees away from 180°.
min_rel_dist – Minimum distance between two neighboring points relative to the width of the plot.
aspect_ratio – Ratio between width and height of the plot, used in calculating angles and distances.
xscale – Whether to use linear (
'linear'
) or logarithmic ('log'
) scale in the x-axis.yscale – Whether to use linear (
'linear'
) or logarithmic ('log'
) scale in the y-axis. If the function is complex-valued, yscale only refers to the magnitude (phase is always assumed to be in a linear scale).
- Returns:
points – A 1D
NumPy array
of sampled points.fvals – A
NumPy array
of function values.