Использование сюжета в сценарии в Юлии - PullRequest
0 голосов
/ 22 мая 2019

Я прототипировал некоторый код julia в записной книжке Jupyter, но он перерос формат записной книжки, и я хочу поместить его в сценарий, чтобы организовать его должным образом.Однако я не могу понять, как заставить графики работать в сценарии, и не могу найти никакой документации по этому поводу.

Вот минимальный нерабочий пример:

using Plots
gr()
display(plot([1,3,2]))
println("here")

Этот код занимает 20-30 секунд для импорта графиков, затем открывает окно, но сразу же закрывает его снова, печатает «здесь» и завершает работу.Я не могу использовать ctrl-C, пока идет процесс импорта.

Итак, у меня есть три вопроса:

  • Как предотвратить закрытие окна графика каккак скоро он откроется?Я хочу, чтобы скрипт блокировал или (в идеале) входил в цикл обработки событий до тех пор, пока окно не будет закрыто, и после этого завершался.

  • Можно ли как-то сократить чрезвычайно длительное время импорта?

  • Существует ли какая-либо документация по использованию графиков вне среды Jupyter?

Если это имеет значение, я использую julia 1.1.1 на Mac.

1 Ответ

1 голос
/ 22 мая 2019

Самым естественным способом достижения рабочего процесса, который вы ищете в первом пункте, является использование кода Juno или VS. Предположим, в вашем рабочем каталоге есть следующий код в файле script.jl:

using Plots
gr()
display(plot([1,3,2]))

hello = "world"

println("here")

Теперь запустите Juno или VS Code и запустите встроенный Julia REPL. В Julia REPL вы можете использовать include для создания вашего скрипта:

julia> include("script.jl")
Plot{Plots.GRBackend() n=1}
here

Теперь ваш скрипт полностью запущен, и график доступен для просмотра на панели графиков (это верно как для Juno, так и для VS Code). Теперь вы можете продолжить include другие файлы в REPL или запустить другой код в интерактивном режиме. Обратите внимание, что переменные, определенные в script.jl, доступны для использования:

julia> hello
"world"

EDIT:

Если вы запустите скрипт, используя опцию -i (для интерактивного), графический интерфейс графика останется открытым, и после завершения работы скрипта запустится REPL:

$ julia -i script.jl

Различные параметры исполняемого файла Julia могут быть найдены здесь , или могут быть найдены, набрав $ julia --help в терминале.

...