#julia #makie.jl
#джулия #makie.jl
Вопрос:
using CairoMakie
x = range(0, 10, length=100)
y = sin.(x)
lines(x, y)
Этот код скопирован с официального сайта makie
Предполагается, что он отображает базовую функцию sin и отображает ее в новом окне. Код выполняется без выдачи ошибки, и при запуске в REPL выводится следующее:
Scene (800px, 600px):
18 Plots:
├ Combined{Makie.poly, Tuple{Vector{Vector{Point{2, Float32}}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ MakieCore.Text{Tuple{String}}
├ Lines{Tuple{Vector{Point{2, Float32}}}}
├ MakieCore.Text{Tuple{Vector{Tuple{AbstractString, Point{2, Float32}}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ LineSegments{Tuple{Vector{Point{2, Float32}}}}
├ MakieCore.Text{Tuple{String}}
├ Lines{Tuple{Vector{Point{2, Float32}}}}
├ MakieCore.Text{Tuple{Vector{Tuple{AbstractString, Point{2, Float32}}}}}
├ Lines{Tuple{Vector{Point{2, Float32}}}}
├ Lines{Tuple{Vector{Point{2, Float32}}}}
└ MakieCore.Text{Tuple{String}}
1 Child Scene:
└ Scene (728px, 541px)
Однако он ничего не отображает. Ни при запуске в REPL, ни при запуске в скрипте.
Я использую Mac 2020 M1, macOS Monterrey, Julia версии 1.7
Почему он ничего не показывает?
Комментарии:
1.
display(figure)
? или что-то подобное; REPL не может рисовать картинки.
Ответ №1:
Нет способа вывести фигуру с помощью CairoMakie только из REPL, как графики.jl может. Из руководства по CarioMakie:
Чтобы увидеть вывод команд построения графиков при использовании CairoMakie, мы рекомендуем вам либо использовать среду IDE, поддерживающую вывод в формате png или svg, такую как VSCode, Atom / Juno, Jupyter, Pluto и т. Д., Либо попробовать использовать пакет просмотра, такой как ElectronDisplay.jl, или, в качестве альтернативы, сохранять графики непосредственно в файлы. Сам по себе Julia REPL не имеет возможности показывать графики.