From 0d665c661f23a4248d2ecb76a723e4efbbd7a592 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas Date: Sat, 15 Apr 2017 13:14:14 -0700 Subject: [PATCH] complex recipe --- src/recipes.jl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/recipes.jl b/src/recipes.jl index 3f63ea40..83b3a8e8 100644 --- a/src/recipes.jl +++ b/src/recipes.jl @@ -809,6 +809,18 @@ datetimeformatter(dt) = string(convert(DateTime, dt)) real(cp.args[1]), imag(cp.args[1]) end +# Splits a complex matrix to its real and complex parts +# Reals defaults solid, imaginary defaults dashed +# Label defaults are changed to match the real-imaginary reference / indexing +@recipe function f{T<:Number,T2<:Number}(x::AbstractArray{T},y::Array{Complex{T2}}) + A = real.(y) + B = imag.(y) + _y = [!iseven(i) ? A[:,i÷2+1] : B[:,i÷2] for i in 1:2size(A,2)] + linestyle --> reshape([!iseven(i) ? :solid : :dash for i in 1:2size(A,2)],1,2size(A,2)) + label --> reshape([!iseven(i) ? "Re(y$(i÷2+1))" : "Im(y$(i÷2))" for i in 1:2size(A,2)],1,2size(A,2)) + x,_y +end + # -------------------------------------------------- # Color Gradients