Added test_terminal() function; Changed name and meaning of linestyles: now returns linetypes
This commit is contained in:
parent
34b7dc9184
commit
4fa4b392c6
@ -5,7 +5,7 @@ using StatsBase, ColorSchemes, ColorTypes, StructC14N, ReusePatterns
|
||||
import Base.reset
|
||||
import Base.write
|
||||
|
||||
export @gp, @gsp, save, linestyles, palette, contourlines, hist, terminal, terminals
|
||||
export @gp, @gsp, save, linetypes, palette, contourlines, hist, terminal, terminals, test_terminal
|
||||
|
||||
# ╭───────────────────────────────────────────────────────────────────╮
|
||||
# │ TYPE DEFINITIONS │
|
||||
@ -133,7 +133,7 @@ end
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
tostring(v) = string(v)
|
||||
tostring(c::ColorTypes.RGB) = string(float(c.r)*255) * " " * string(float(c.g)*255) * " " * string(float(c.b)*255)
|
||||
tostring(c::ColorTypes.RGB) = string(Int(c.r*255)) * " " * string(Int(c.g*255)) * " " * string(Int(c.b*255))
|
||||
tostring(v::AbstractString) = "\"" * string(v) * "\""
|
||||
|
||||
function data2string(args...)
|
||||
@ -425,9 +425,17 @@ function write(gp::GPSession, d::DataSet)
|
||||
printstyled(color=:light_black, "GNUPLOT ($(gp.sid)) EOD\n")
|
||||
end
|
||||
write(gp.pin, "$(d.name) << EOD\n")
|
||||
write(gp.pin, join(d.lines, "\n") * "\n")
|
||||
buf = join(d.lines, "\n") * "\n"
|
||||
#if length(buf) > 1e4
|
||||
# s = "Writing data to gnuplot (length=$(length(buf)) bytes) ..."
|
||||
# printstyled(color=:light_black, s)
|
||||
#end
|
||||
write(gp.pin, buf)
|
||||
write(gp.pin, "EOD\n")
|
||||
flush(gp.pin)
|
||||
#if length(buf) > 1e4
|
||||
# write(stdout, "\r" * *(fill(" ", length(s))...) * "\r")
|
||||
#end
|
||||
return nothing
|
||||
end
|
||||
|
||||
@ -1027,13 +1035,13 @@ save(sid::Symbol, file::AbstractString; kw...) = savescript(getsession(sid), fil
|
||||
# │ HIGH LEVEL FACILITIES │
|
||||
# ╰───────────────────────────────────────────────────────────────────╯
|
||||
# ---------------------------------------------------------------------
|
||||
linestyles(s::Symbol) = linestyles(colorschemes[s])
|
||||
function linestyles(cmap::ColorScheme)
|
||||
styles = Vector{String}()
|
||||
linetypes(s::Symbol) = linetypes(colorschemes[s])
|
||||
function linetypes(cmap::ColorScheme)
|
||||
out = Vector{String}()
|
||||
for i in 1:length(cmap.colors)
|
||||
push!(styles, "set style line $i lt 1 lc rgb '#" * Base.hex(cmap.colors[i]))
|
||||
push!(out, "set linetype $i lc rgb '#" * Base.hex(cmap.colors[i]))
|
||||
end
|
||||
return join(styles, "\n")
|
||||
return join(out, "\n") * "\nset linetype cycle " * string(length(cmap.colors)) * "\n"
|
||||
end
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
@ -1328,4 +1336,17 @@ function splash(outputfile="")
|
||||
nothing
|
||||
end
|
||||
|
||||
function test_terminal(term=nothing; linetypes=nothing, palette=nothing)
|
||||
quit(:test_term)
|
||||
quit(:test_palette)
|
||||
if !isnothing(term)
|
||||
exec(:test_term , "set term $term;")
|
||||
exec(:test_palette , "set term $term")
|
||||
end
|
||||
s = (isnothing(linetypes) ? "" : Gnuplot.linetypes(linetypes))
|
||||
exec(:test_term , "$s; test")
|
||||
s = (isnothing(palette) ? "" : Gnuplot.palette(palette))
|
||||
exec(:test_palette , "$s; test palette")
|
||||
end
|
||||
|
||||
end #module
|
||||
|
||||
@ -92,8 +92,8 @@ s = Gnuplot.data2string(1:3, 1:3, ["One", "Two", "Three"])
|
||||
#-----------------------------------------------------------------
|
||||
pal = palette(:deepsea)
|
||||
@test pal == "set palette defined (0.0 '#2B004D', 0.25 '#4E0F99', 0.5 '#3C54D4', 0.75 '#48A9F8', 1.0 '#C5ECFF')\nset palette maxcol 5\n"
|
||||
ls = linestyles(:deepsea)
|
||||
@test ls == "set style line 1 lt 1 lc rgb '#2B004D\nset style line 2 lt 1 lc rgb '#4E0F99\nset style line 3 lt 1 lc rgb '#3C54D4\nset style line 4 lt 1 lc rgb '#48A9F8\nset style line 5 lt 1 lc rgb '#C5ECFF"
|
||||
ls = linetypes(:deepsea)
|
||||
@test ls == "set linetype 1 lc rgb '#2B004D\nset linetype 2 lc rgb '#4E0F99\nset linetype 3 lc rgb '#3C54D4\nset linetype 4 lc rgb '#48A9F8\nset linetype 5 lc rgb '#C5ECFF\nset linetype cycle 5\n"
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Test wth empty dataset
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user