From 3f42e9c5bd845184734dae8418b544af7d5b7954 Mon Sep 17 00:00:00 2001 From: Patrick Kofod Mogensen Date: Tue, 2 Feb 2016 22:02:31 +0100 Subject: [PATCH] Add abline! which creates a straight line according to the formula b+a*x, and export abline! Also add utility functions xmin(plt::Plot) and xmax(plt::Plot). --- src/Plots.jl | 1 + src/recipes.jl | 6 ++++++ src/utils.jl | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/src/Plots.jl b/src/Plots.jl index feca5ce9..5dcd596d 100644 --- a/src/Plots.jl +++ b/src/Plots.jl @@ -59,6 +59,7 @@ export path3d!, scatter3d, scatter3d!, + abline!, title!, xlabel!, diff --git a/src/recipes.jl b/src/recipes.jl index 44ba5d85..45309c12 100644 --- a/src/recipes.jl +++ b/src/recipes.jl @@ -130,3 +130,9 @@ function spy{T<:Real}(y::AMat{T}; kw...) heatmap(J, I; leg=false, yflip=true, nbins=size(y), kw...) end +"Adds a+bx... straight line over the current plot" +function abline!(plt::Plot, a, b; kw...) + plot!(plt, [xmin(plt), xmax(plt)], x -> b + a*x; kw...) +end + +abline!(args...; kw...) = abline!(current(), args...; kw...) diff --git a/src/utils.jl b/src/utils.jl index 68f20583..bf97febd 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -465,3 +465,9 @@ mm2inch(mm::Real) = float(mm / MM_PER_INCH) px2mm(px::Real) = float(px * MM_PER_PX) mm2px(mm::Real) = float(px / MM_PER_PX) + +"Smallest x in plot" +xmin(plt::Plot) = minimum([minimum(d[:x]) for d in plt.seriesargs]) +"Largest x in plot" +xmax(plt::Plot) = maximum([maximum(d[:x]) for d in plt.seriesargs]) +