我学会了用Julia
语言编程。
我想测试哪种颜色更好,所以我使用以下代码:
using Plots
x = 1:10; y = rand(10,2);
for i in [0 0.1 0.2]
plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i))
end
如何,什么都没显示。
有人可以告诉我如何使用loop
生成图吗?
P.S。
我尝试了另一种方式,
[plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i)) for i in 0:0.1:1]
以上代码没有任何反应。
以下代码也不起作用:
map(i->plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i)), [0 0.1 0.2])
答案 0 :(得分:2)
除非您使用display
函数显示脚本,否则不会显示脚本中的情节(请参见{em>此处的脚本中的脚本部分http://docs.juliaplots.org/latest/tutorial/)。
您在这里有几种选择。这是最简单的:
for i in [0 0.1 0.2]
display(plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i)))
sleep(1)
end
它将按顺序绘制图形。我使用sleep(1)
使Julia在绘图之间暂停。
否则,您可以这样做:
p = [plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i)) for i in 0:0.1:1]
然后像这样从Julia REPL绘制图形:
julia> p[5]
将绘制第五个数字。现在,您不必使用display
,因为在REPL中无论如何我都会在行末使用;
来调用它。您可以编写display(p[5])
以获得相同的效果。
最后,您可以考虑将图形保存到PNG文件中,然后再进行检查。您可以使用上面定义的p
数组来做到这一点:
foreach(i -> savefig(p[i], "fig$i.png"), eachindex(p))
或类似这样的循环:
for i in [0 0.1 0.2]
p = plot(x,y, seriestype=:scatter,background_color=RGB(0.4,0.8,i))
savefig(p, "fig$i.png)
end