Почему CairoMakie.jl ничего не отображает при запуске кода, скопированного с официального сайта?

#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 не имеет возможности показывать графики.