同一个图形上的多个图形julia



我正在编写一个Julia程序,该程序迭代运行另一个函数,并将给我两组结果。我想画出这些结果,现在我正在做的是分别画出每个for循环的结果,这给了我大约20张下面例子的图:说这样的话:

for i in 1:10
x1,y1 = first_function(a,b,c)
plot(x1,y1)
end
for j in 1:10
x2,y2 = second_function(a,b,c)
plot(x2,y2)
end

我试着使用plot!()命令,但这会在同一个绘图上提供所有20个绘图,这是我不想要的。我想做的是将两个函数的结果绘制在同一张图上,用于每次迭代。例如,我想要10个图,每个迭代一个,其中每个图都有first_function()second_function的结果。我尝试了以下方法:

for j in 1:10
x1,y1 = first_function(a,b,c)
x2,y2 = second_function(a,b,c)
plot!(x1,y1)
plot!(x2,y2)
end

然而,这似乎也不起作用。

编辑:根据我收到的一个答案,我能够想出以下方法:

for i in 1:10
x1,y1 = first_function(a,b,c)
x2,y2 = second_function(a,b,c)
plot(x1,y1)
plot!(x2,y2)
end

这会在循环的每次迭代结束时生成一个新的图,这正是我想要的。

正如您所发现的,plot()会创建一个新的绘图,而plot!()会绘制到当前活动的绘图上。

你所需要做的就是明确你想在什么时候做什么,如果你使用plot!(),也要明确你想绘制到哪个绘图对象

p1 = plot()
p2 = plot()
for i in 1:10
plot!(p1, first_function(a, b, c)...)
plot!(p2, second_function(a, b, c)...)
end

p1应当具有示出first_function的结果的10行以及具有第二函数的结果的p2行。

我不清楚你是否希望这两个图都出现在同一个图上,但如果你这样做了,plot(p1, p2)将创建一个有两个子图的图。

相关内容

  • 没有找到相关文章

最新更新