Merge pull request #2456 from JuliaPlots/as/remove-tryrange
move tryrange to PlotUtils
This commit is contained in:
commit
6e3c218d89
@ -41,7 +41,7 @@ Measures = "0.3"
|
|||||||
NaNMath = "0.3"
|
NaNMath = "0.3"
|
||||||
PGFPlotsX = "1.2.0"
|
PGFPlotsX = "1.2.0"
|
||||||
PlotThemes = "1"
|
PlotThemes = "1"
|
||||||
PlotUtils = "0.6.1"
|
PlotUtils = "0.6.5"
|
||||||
RecipesBase = "0.8"
|
RecipesBase = "0.8"
|
||||||
Reexport = "0.2"
|
Reexport = "0.2"
|
||||||
Requires = "0.5, 1.0"
|
Requires = "0.5, 1.0"
|
||||||
|
|||||||
@ -464,33 +464,14 @@ end
|
|||||||
axis_limits(plt[1], :x)
|
axis_limits(plt[1], :x)
|
||||||
catch
|
catch
|
||||||
xinv = invscalefunc(get(plotattributes, :xscale, :identity))
|
xinv = invscalefunc(get(plotattributes, :xscale, :identity))
|
||||||
xm = tryrange(f, xinv.([-5,-1,0,0.01]))
|
xm = PlotUtils.tryrange(f, xinv.([-5,-1,0,0.01]))
|
||||||
xm, tryrange(f, filter(x->x>xm, xinv.([5,1,0.99, 0, -0.01])))
|
xm, PlotUtils.tryrange(f, filter(x->x>xm, xinv.([5,1,0.99, 0, -0.01])))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
f, xmin, xmax
|
f, xmin, xmax
|
||||||
end
|
end
|
||||||
|
|
||||||
# try some intervals over which the function may be defined
|
|
||||||
function tryrange(F::AbstractArray, vec)
|
|
||||||
rets = [tryrange(f, vec) for f in F] # get the preferred for each
|
|
||||||
maxind = maximum(indexin(rets, vec)) # get the last attempt that succeeded (most likely to fit all)
|
|
||||||
rets .= [tryrange(f, vec[maxind:maxind]) for f in F] # ensure that all functions compute there
|
|
||||||
rets[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
function tryrange(F, vec)
|
|
||||||
for v in vec
|
|
||||||
try
|
|
||||||
tmp = F(v)
|
|
||||||
return v
|
|
||||||
catch
|
|
||||||
end
|
|
||||||
end
|
|
||||||
error("$F is not a Function, or is not defined at any of the values $vec")
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
# 2 arguments
|
# 2 arguments
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user