Julia - 在同一个图中显示多个图(不是子图)
Julia - Displaying several plots in the same plot (not subplot)
可以在同一个绘图显示中绘制多个系列,也可以在一个显示中绘制多个子图。但我想要几个可以完全不同的东西(不一定是地图的系列或图表)的地块完全显示在一个框架中。我怎样才能做到这一点?在 Maple 中,您可以为每个地块分配名称,例如
P1:=...:
、P2:= ...:
然后使用 plots:-display(P1,P2,...);
就可以了。但我想在 Julia 中这样做。假设我有以下情节作为示例;
using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
plot(x,y)
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot(x2,y2,fill=(0, :yellow))
现在如何将 P1 和 P2 放在一个 plot 中?我没有使用一条绘图线来编写这个特定示例的输出的捷径或技巧,请注意我的问题是一般性的,例如 p2 可以是曲线或其他东西,或者我可能有 for
flow 在每个步骤中生成一个图,然后我想在 for
循环结束时将所有这些形状放在一个图显示中。
尝试使用 plot!()
以任意顺序添加到绘图的简单示例代码。
using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot!(x2,y2,fill=(0, :orange))
p3=plot(x,y)
display(p2)
p5=plot!([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green))
通过运行上面的代码分别看到如下图。
但我希望看到的是在带有两个橙色矩形的图中添加了绿色矩形的图。
好吧,如果你这样做,从技术上讲,你将拥有的是次要情节。这就是它的意思。
语法是
plot(p1, p2)
抱歉,我不知道如何在另一个地块上绘制整个地块(与系列相反)。关于地块的顺序,您可以根据需要创建任意数量的地块,而无需显示它们然后在任何你想要的地方显示它们,例如:
using Plots
pyplot()
# Here we create independent plots, without displaying them:
x=[1,2,2,1,1]
y=[1,1,2,2,1]
p1=plot(x,y,fill=(0, :orange));
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot(x2,y2,fill=(0, :orange));
p3=plot(x,y);
p5=plot([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green));
# Here we display the plots (in the order we want):
println("P2:")
display(p2)
println("P3:")
display(p3)
println("P5:")
display(p5)
println("P1:")
display(p1)
在同一组轴内绘制多个系列的方法是使用 plot!
函数。注意感叹号!它是函数名称的一部分。 plot
每次调用都会创建一个新图,而 plot!
会将系列添加到当前图。示例:
plot(x, y)
plot!(x, z)
如果您同时创建多个地块,您可以命名它们并在 plot!
中引用它们:
p1 = plot(x, y)
plot!(p1, x, z)
可以在同一个绘图显示中绘制多个系列,也可以在一个显示中绘制多个子图。但我想要几个可以完全不同的东西(不一定是地图的系列或图表)的地块完全显示在一个框架中。我怎样才能做到这一点?在 Maple 中,您可以为每个地块分配名称,例如
P1:=...:
、P2:= ...:
然后使用 plots:-display(P1,P2,...);
就可以了。但我想在 Julia 中这样做。假设我有以下情节作为示例;
using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
plot(x,y)
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot(x2,y2,fill=(0, :yellow))
现在如何将 P1 和 P2 放在一个 plot 中?我没有使用一条绘图线来编写这个特定示例的输出的捷径或技巧,请注意我的问题是一般性的,例如 p2 可以是曲线或其他东西,或者我可能有 for
flow 在每个步骤中生成一个图,然后我想在 for
循环结束时将所有这些形状放在一个图显示中。
尝试使用 plot!()
以任意顺序添加到绘图的简单示例代码。
using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot!(x2,y2,fill=(0, :orange))
p3=plot(x,y)
display(p2)
p5=plot!([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green))
通过运行上面的代码分别看到如下图。
但我希望看到的是在带有两个橙色矩形的图中添加了绿色矩形的图。
好吧,如果你这样做,从技术上讲,你将拥有的是次要情节。这就是它的意思。 语法是
plot(p1, p2)
抱歉,我不知道如何在另一个地块上绘制整个地块(与系列相反)。关于地块的顺序,您可以根据需要创建任意数量的地块,而无需显示它们然后在任何你想要的地方显示它们,例如:
using Plots
pyplot()
# Here we create independent plots, without displaying them:
x=[1,2,2,1,1]
y=[1,1,2,2,1]
p1=plot(x,y,fill=(0, :orange));
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot(x2,y2,fill=(0, :orange));
p3=plot(x,y);
p5=plot([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green));
# Here we display the plots (in the order we want):
println("P2:")
display(p2)
println("P3:")
display(p3)
println("P5:")
display(p5)
println("P1:")
display(p1)
在同一组轴内绘制多个系列的方法是使用 plot!
函数。注意感叹号!它是函数名称的一部分。 plot
每次调用都会创建一个新图,而 plot!
会将系列添加到当前图。示例:
plot(x, y)
plot!(x, z)
如果您同时创建多个地块,您可以命名它们并在 plot!
中引用它们:
p1 = plot(x, y)
plot!(p1, x, z)