Plots.jl
на самом деле является обёрткой вокруг графических бэкэндов, таких как PyPlot.jl
и GR.jl
(которые также являются обёртками).
Вы можете Plots.jl
использовать PyPlot, вызвав pyplot()
, при условии, что у вас установлено PyPlot.jl
.
using Plots
pyplot() # switch to PyPlot
plot(sol.t[2:end], sol[1,2:end], xlim =(10,100000), xscale=:log10)
Обратите внимание, что я начал со второго индекса, потому что в первом индексе t
равен 0, что создает проблему с масштабированием журнала (даже если установлен xlim
). Это использует каждую точку данных в решении. Если вы находитесь в терминале, это откроет графический интерфейс PyPlot, так что вы можете изменять масштаб по своему желанию. Если вы используете Juno, вы можете использовать gui(plot(...))
, чтобы открыть окно.
Вы можете выполнить выборку системы в произвольные моменты времени. (с интерполяцией DifferentialEquations
' sol(t)
)
t = range(10, stop = 100000, num=10000) # to reach t=100000 you need to adjust `maxiters` accordingly in your call to `solve`
samples = sol(t) # sample using interpolator
plot(samples.t, samples.u[1,:], xscale=:log10)
Вы также можете использовать рецепт без логарифмического масштаба и с опцией plotdensity
.
plot(sol, vars=1, plotdensity=1000)
См. Здесь дополнительные примеры: http://docs.juliadiffeq.org/stable/basics/plot.html