I want to plot multiple lines(here simplified as two), but don't know how to draw in different colors on same plot. Here is the separated figures version.
using UnicodePlots, DataFrames
function job()
names, data = ["A", "B"], [
DataFrame("x"=>[1, 2, 3], "y"=>[3, 5, 7]),
DataFrame("x"=>[1, 2, 3], "y"=>[8, 2, 6]),
]
y_min, y_max = typemax(Int64), typemin(Int64)
y_min = min(minimum(data[1].y), minimum(data[2].y))
y_max = max(maximum(data[1].y), maximum(data[2].y))
ylim = (y_min, y_max)
for i = 1:length(names)
p = lineplot(data[i].x, data[i].y, name=names[i], ylim=ylim)
show(p)
println("")
#if i == 1
# p=lineplot(data[i].x, data[i].y, name=names[i], ylim=ylim)
#else # failed for p undefined when i == 2
# lineplot!(p, data[i].x, data[i].y, name=names[i], ylim=ylim)
#end
end
#show(p)
println("")
end
job()
It was almost correct. Here is the fixed version:
using UnicodePlots, DataFrames
function job()
names, data = ["A", "B"], [
DataFrame("x"=>[1, 2, 3], "y"=>[3, 5, 7]),
DataFrame("x"=>[1, 2, 3], "y"=>[8, 2, 6]),
]
y_min, y_max = typemax(Int64), typemin(Int64)
y_min = min(minimum(data[1].y), minimum(data[2].y))
y_max = max(maximum(data[1].y), maximum(data[2].y))
ylim = (y_min, y_max)
local p
for i = 1:length(names)
if i == 1
p=lineplot(data[i].x, data[i].y; name=names[i], ylim=ylim)
else
lineplot!(p, data[i].x, data[i].y; name=names[i])
end
end
show(p)
println("")
end
job()
Issues were:
Think that's it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With