Как отображать картинки ggplot2, RCall и Julia в jupyter?
Я попытался использовать ggplot2 в julia от RCall, как в примере ниже
using DataFrames
using RCall
df = DataFrame(randn(10,2),:auto)
@rlibrary ggplot2
@rlibrary ggsci
ggplot(df, aes(x=:x1, y=:x2))+geom_point()
Он хорошо работает в REPL, но в блокноте jupyter что-то идет не так, поскольку информация об отладке ниже
REvalError: Warning in (function (filename = "Rplot%03d.png", width = 480, height = 480, :
locale not supported by Xlib: some X ops will operate in C locale
Warning in (function (filename = "Rplot%03d.png", width = 480, height = 480, :
X cannot set locale modifiers
Error in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) :
X11 font -adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*, face 1 at size 9 could not be loaded
Calls: <Anonymous> ... grid.Call -> <Anonymous> -> descentDetails.text -> grid.Call
Stacktrace:
[1] handle_eval_stderr(; as_warning::Bool)
@ RCall ~/.julia/packages/RCall/iMDW2/src/io.jl:162
[2] rprint(io::IOContext{IOBuffer}, s::Ptr{VecSxp})
@ RCall ~/.julia/packages/RCall/iMDW2/src/io.jl:36
[3] rprint
@ ~/.julia/packages/RCall/iMDW2/src/io.jl:46 [inlined]
[4] show
@ ~/.julia/packages/RCall/iMDW2/src/io.jl:52 [inlined]
[5] show
@ ./multimedia.jl:47 [inlined]
[6] limitstringmime(mime::MIME{Symbol("text/plain")}, x::RObject{VecSxp})
@ IJulia ~/.julia/packages/IJulia/e8kqU/src/inline.jl:43
[7] display_mimestring
@ ~/.julia/packages/IJulia/e8kqU/src/display.jl:71 [inlined]
[8] display_dict(x::RObject{VecSxp})
@ IJulia ~/.julia/packages/IJulia/e8kqU/src/display.jl:102
[9] #invokelatest#2
@ ./essentials.jl:708 [inlined]
[10] invokelatest
@ ./essentials.jl:706 [inlined]
[11] execute_request(socket::ZMQ.Socket, msg::IJulia.Msg)
@ IJulia ~/.julia/packages/IJulia/e8kqU/src/execute_request.jl:112
[12] #invokelatest#2
@ ./essentials.jl:708 [inlined]
[13] invokelatest
@ ./essentials.jl:706 [inlined]
[14] eventloop(socket::ZMQ.Socket)
@ IJulia ~/.julia/packages/IJulia/e8kqU/src/eventloop.jl:8
[15] (::IJulia.var"#15#18")()
@ IJulia ./task.jl:411
Я попытался сохранить изображение в формате pdf, png или svg, и только pdf работает хорошо: png и svg вызовут ошибку
g = ggplot(df, aes(x=:x1, y=:x2))+geom_point()
ggsave(joinpath(odir,"try.png"),g)
REvalError: Saving 7 x 7 in image
Warning in png_dev(..., res = dpi, units = "in") :
locale not supported by Xlib: some X ops will operate in C locale
Warning in png_dev(..., res = dpi, units = "in") :
X cannot set locale modifiers
Error in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) :
X11 font -adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*, face 1 at size 9 could not be loaded
Calls: <Anonymous> ... grid.Call -> <Anonymous> -> descentDetails.text -> grid.Call
Итак, что мне делать, чтобы отобразить изображение непосредственно в jupyter, например, python% matplotlib inline?
Спасибо.