【问题标题】:Plot multiple lines/functions/whatever with Julia用 Julia 绘制多行/函数/任何东西
【发布时间】:2017-07-20 06:48:36
【问题描述】:

我想在 Julia 的同一轴上绘制几个函数。我该怎么做?

f(x) = x.^2
g(x) = 2*x
t = 1:100
# plot both f and g vs. t?

根据您的后端,您有时可以只 plot 第一个函数,然后 plot! 后续函数,但这对于 plotly 后端(必须为每个绘图生成一个新图形)效果不佳)。有没有办法同时绘制两者?

【问题讨论】:

  • 请注意,您也可以逐步构建绘图。从p = plot(t, f) 开始,然后是plot!(p, t, g),然后打印p 应该会显示整个情节。

标签: plot julia


【解决方案1】:

调用plot 对您想要绘制在一起的所有事物的向量:

plot(t,[f,g])

这也适用于例如函数和向量:

plot(t,[f,g,t.^2])

【讨论】:

  • 谢谢,如何从 [y1,y2,y3 ... ] 等调整自动图例?
【解决方案2】:

对于带有 Julia v0.6 的 Jupyter Notebook

我更喜欢使用纯 PlotlyJS 而不是通过 Plots.jl。这是一个关于如何在同一轴上绘制两条曲线的简单示例。

using PlotlyJS

X = -5:0.01:5
Y1 = e.^(X)
Y2 = e.^(-X)

trace1 = PlotlyJS.scatter(;x=X, y=Y1, mode="lines", line_color="blue", name="e^x")
trace2 = PlotlyJS.scatter(;x=X, y=Y2, mode="lines", line_color="red", name="e^(-x)")
layout = PlotlyJS.Layout(xaxis_range=[-5, 5], yaxis_range=[0, 10])

PlotlyJS.plot([trace1, trace2], layout)

如果您想并排绘制两个轴(每个轴都有多条曲线),您可以这样做

p1 = PlotlyJS.plot([trace1, trace2], layout)
p2 = PlotlyJS.plot([trace1, trace2], layout)

# Show the plots next to each other
[p1 p2]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多