replaced dataframes with recipes

This commit is contained in:
Thomas Breloff 2016-05-09 08:31:50 -04:00
parent 008b61c9f6
commit 33b3ee89f3

View File

@ -459,24 +459,59 @@ end
function setup_dataframes() function setup_dataframes()
@require DataFrames begin @require DataFrames begin
# @eval begin
# import DataFrames
get_data(df::DataFrames.AbstractDataFrame, arg::Symbol) = df[arg] DFS = Union{Symbol, AbstractVector{Symbol}}
get_data(df::DataFrames.AbstractDataFrame, arg) = arg
function process_inputs(plt::AbstractPlot, d::KW, df::DataFrames.AbstractDataFrame, args...) function handle_dfs(df::DataFrames.AbstractDataFrame, d::KW, letter, dfs::DFS)
# d[:dataframe] = df if isa(dfs, Symbol)
process_inputs(plt, d, map(arg -> get_data(df, arg), args)...) get!(d, symbol(letter * "label"), string(dfs))
end collect(df[dfs])
# expecting the column name of a dataframe that was passed in... anything else should error
function extractGroupArgs(s::Symbol, df::DataFrames.AbstractDataFrame, args...)
if haskey(df, s)
return extractGroupArgs(df[s])
else else
error("Got a symbol, and expected that to be a key in d[:dataframe]. s=$s d=$d") get!(d, :label, dfs')
Any[collect(df[s]) for s in dfs]
end end
end end
function handle_group(df::DataFrames.AbstractDataFrame, d::KW)
if haskey(d, :group)
g = d[:group]
if isa(g, Symbol)
d[:group] = collect(df[g])
end
end
end
@recipe function plot(df::DataFrames.AbstractDataFrame, sy::DFS)
handle_group(df, d)
handle_dfs(df, d, "y", sy)
end
@recipe function plot(df::DataFrames.AbstractDataFrame, sx::DFS, sy::DFS)
handle_group(df, d)
x = handle_dfs(df, d, "x", sx)
y = handle_dfs(df, d, "y", sy)
x, y
end
# get_data(df::DataFrames.AbstractDataFrame, arg::Symbol) = df[arg]
# get_data(df::DataFrames.AbstractDataFrame, arg) = arg
#
# function process_inputs(plt::AbstractPlot, d::KW, df::DataFrames.AbstractDataFrame, args...)
# # d[:dataframe] = df
# process_inputs(plt, d, map(arg -> get_data(df, arg), args)...)
# end
#
# # expecting the column name of a dataframe that was passed in... anything else should error
# function extractGroupArgs(s::Symbol, df::DataFrames.AbstractDataFrame, args...)
# if haskey(df, s)
# return extractGroupArgs(df[s])
# else
# error("Got a symbol, and expected that to be a key in d[:dataframe]. s=$s d=$d")
# end
# end
# function getDataFrameFromKW(d::KW) # function getDataFrameFromKW(d::KW)
# get(d, :dataframe) do # get(d, :dataframe) do
# error("Missing dataframe argument!") # error("Missing dataframe argument!")