From 4395718e0c5cfaa8053fc1261adbae65d564f52f Mon Sep 17 00:00:00 2001 From: "Michael K. Borregaard" Date: Fri, 29 Sep 2017 08:58:54 +0200 Subject: [PATCH 1/2] Try to find default x axis limits where function is defined --- src/series.jl | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/series.jl b/src/series.jl index 6b5b0198..a22da163 100644 --- a/src/series.jl +++ b/src/series.jl @@ -363,11 +363,23 @@ end xmin, xmax = try axis_limits(plt[1][:xaxis]) catch - -5, 5 + tryrange(f, [-5,-1,0,0.01]), tryrange(f, [5,1,0.99]) end + f, xmin, xmax end +# try some intervals over which the function may be defined +function tryrange(F, vec) + for v in vec + try + tmp = F(v) + return v + catch + end + end + error("Function not defined over the given interval, $vec") +end # # # -------------------------------------------------------------------- # # 2 arguments From 07843c00d3a351a22989ff72df7b5fffc5b9fcf3 Mon Sep 17 00:00:00 2001 From: "Michael K. Borregaard" Date: Fri, 29 Sep 2017 09:18:20 +0200 Subject: [PATCH 2/2] Add negative ranges --- src/series.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/series.jl b/src/series.jl index a22da163..66518b78 100644 --- a/src/series.jl +++ b/src/series.jl @@ -363,9 +363,10 @@ end xmin, xmax = try axis_limits(plt[1][:xaxis]) catch - tryrange(f, [-5,-1,0,0.01]), tryrange(f, [5,1,0.99]) + xm = tryrange(f, [-5,-1,0,0.01]) + xm, tryrange(f, filter(x->x>xm, [5,1,0.99, 0, -0.01])) end - + f, xmin, xmax end