同一个图 julia 上的多个图
Multiple plots on the same figure 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
应该有 10 行显示 first_function
的结果,p2
10 行显示第二个函数的结果。
我不清楚你是否希望这两个图出现在同一张图上,但如果你这样做,plot(p1, p2)
将创建一个包含两个子图的图。
我正在编写一个 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
应该有 10 行显示 first_function
的结果,p2
10 行显示第二个函数的结果。
我不清楚你是否希望这两个图出现在同一张图上,但如果你这样做,plot(p1, p2)
将创建一个包含两个子图的图。