在Julia中绘制多个图形

4
这是我想要做的事情: enter image description here 所以,我有一个函数,但我想更改先前定义的参数(温度,在你想知道的情况下)并在同一图中显示这4个函数。我正在寻找像Gnuplot中的replot这样的选项。这是我目前只使用Plots完成的:
function L(v)
    defined the function here
    end;
plot(L,0,2000,title="Spectral Radiance",lw=2, xlabel = L"photon \ energy \ (cm^{-1})", 
    ylabel = L"W . m^{-2} . sr^{-1} . wavenumber^{-1}", label="300K")

之前已经为T = 2000K定义了温度,现在如何将其更改为3500、4500和5600,并在同一图中显示结果?感谢任何提示!


1
使用带有感叹号的 plot! - carstenbauer
1个回答

6

正如@crstnbr所说,在Plots.jl中,您可以执行以下操作:

using Plots
function L(v)
    v .* rand(100)
end;

p = plot()
for v in 1:4
    plot!(L(v), label="factor $v")
end
display(p)



3
如果您将plot对象分配给一个变量,您可以使用该变量作为plot!()调用的第一个参数,以表明您正在修改“那个”图。 - Antonello
感谢您的帮助。实际上,plot!正在工作,但我想找到一种在不重新定义函数的情况下修改函数内部常量并添加新的plot!行的方法。例如: x + c end; c = 1 plot! (g,0,3) c = 2 plot!(g,0,3)``` 如何每次重新定义```c```?我正在寻找类似于```for c in [1,5,10]```的东西,但无法使其正常工作。 - Pierre-Louis LEFEBVRE
1
也许是这样的:g(x, c) = x + c; p = plot(); for c in [1, 5, 10] plot!(p, [g(x, c) for x ∈ 0:0.1:3]) end - Nils Gudat
@NilsGudat 谢谢!这正是我在寻找的 :) - Pierre-Louis LEFEBVRE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接