Skip to content

Commit

Permalink
keep makie tests
Browse files Browse the repository at this point in the history
  • Loading branch information
daschw committed Oct 28, 2020
1 parent 1c9dffa commit 22cc594
Show file tree
Hide file tree
Showing 2 changed files with 123 additions and 0 deletions.
117 changes: 117 additions & 0 deletions RecipesPipeline/test/makie.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
using AbstractPlotting, CairoMakie
using MakieRecipes
using MakieRecipes.RecipesBase
using MarketData, TimeSeries

# ## The simplest example model

const i = Ref(0)

macro test_and_save(arg)
return quote
i[] += 1
@test_nowarn save("test_$(i[]).png", $arg)
end
end


struct T end

RecipesBase.@recipe function plot(::T, n = 1; customcolor = :green)
markershape --> :auto # if markershape is unset, make it :auto
markercolor := customcolor # force markercolor to be customcolor
xrotation --> 45 # if xrotation is unset, make it 45
zrotation --> 90 # if zrotation is unset, make it 90
rand(10,n) # return the arguments (input data) for the next recipe
end

@test_and_save recipeplot(T(); seriestype = :path)

# ## Testing out series decomposition

sc = Scene()
@test_and_save recipeplot!(sc, rand(10, 2); seriestype = :scatter)
@test_and_save recipeplot!(sc, 1:10, rand(10, 1); seriestype = :path)

# ## Distributions

# ###

# ## Differential Equations

using OrdinaryDiffEq, StochasticDiffEq, DiffEqNoiseProcess

# ### A simple exponential growth model

f(u,p,t) = 1.01.*u
u0 = [1/2, 1]
tspan = (0.0,1.0)
prob = ODEProblem(f,u0,tspan)
sol = solve(prob, Tsit5(), reltol=1e-8, abstol=1e-8)
@test_and_save recipeplot(sol)

# ### Matrix DiffEq

A = [1. 0 0 -5
4 -2 4 -3
-4 0 0 1
5 -2 2 3]
u0 = rand(4,2)
tspan = (0.0,1.0)
f(u,p,t) = A*u
prob = ODEProblem(f,u0,tspan)
sol = solve(prob, Tsit5(), reltol=1e-8, abstol=1e-8)
@test_and_save recipeplot(sol)

# ### Stochastic DiffEq

f(du,u,p,t) = (du .= u)
g(du,u,p,t) = (du .= u)
u0 = rand(4,2)

W = WienerProcess(0.0,0.0,0.0)
prob = SDEProblem(f,g,u0,(0.0,1.0),noise=W)
sol = solve(prob,SRIW1())
@test_and_save recipeplot(sol)

# ## Phylogenetic tree
using Phylo
assetpath = joinpath(dirname(pathof(MakieRecipes)), "..", "docs", "src", "assets")
hummer = open(t -> parsenewick(t, NamedPolytomousTree), joinpath(assetpath, "hummingbirds.tree"))
evolve(tree) = Phylo.map_depthfirst((val, node) -> val + randn(), 0., tree, Float64)
trait = evolve(hummer)

scp = recipeplot!(
Scene(scale_plot = false, show_axis = false),
hummer;
treetype = :fan,
line_z = trait,
linewidth = 5,
showtips = false,
cgrad = :RdYlBu,
seriestype = :path
)

# ## GraphRecipes
using GraphRecipes

# ### Julia AST with GraphRecipes

code = quote
function mysum(list)
out = 0
for value in list
out += value
end
out
end
end

@test_and_save recipeplot(code; fontsize = 12, shorten = 0.01, axis_buffer = 0.15, nodeshape = :rect)

# ### Type tree with GraphRecipes

@test_and_save recipeplot(AbstractFloat; method = :tree, fontsize = 10)

# Timeseries with market data
@test_and_save recipeplot(MarketData.ohlc; seriestype = :path)
6 changes: 6 additions & 0 deletions RecipesPipeline/test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ using Statistics
using StatsPlots
using Test

# makie_test_dir = joinpath(@__DIR__, "test_makie")
# mkpath(makie_test_dir)

@testset "RecipesPipeline.jl" begin
# @testset "Makie integration" begin cd(makie_test_dir) do
# include("makie.jl")
# end end
@testset "Plots tests" begin
for i in eachindex(Plots._examples)
if i Plots._backend_skips[:gr]
Expand Down

0 comments on commit 22cc594

Please sign in to comment.