パスワードを忘れた? アカウント作成
15468035 journal
日記

ujimushiの日記: ubuntu 21.10でjulia言語のPlotsのPlotlyバックエンドをうまく動かす方法

日記 by ujimushi

julia言語のPlotsパッケージでPlotlyバックエンドを使うと,「/tmp/」の下にhtmlファイルが生成されてデフォルトのブラウザでグラフが表示される。

ところがubuntu 21.10ではfirefoxはsnapパッケージのものがデフォルトでインストールされているため,snapパッケージのfirefoxは実物の「/tmp/」にはアクセスできず,パッケージ内のツリーの「/tmp/」をアクセスしにいって「ファイルが見つからない」という状況になっている。

色々試してみると,あらかじめ「TMP」の環境変数を設定しておくとPlotlyバックエンドはそこに書き込んで表示しようとするらしい。

そこで,あらかじめ「~/tmp」のフォルダを作成しておき,そこにグラフを書き込むようにする。

using Plots

plotly()

ENV["TMP"]=joinpath(ENV["HOME"], "tmp")
x = Vector((0.0:0.1:2.0)*π);
plot(x, cos.(x))

# juliaコマンドから実行させる時は必要
Plots.gui()

カットアンドトライでグラフを表示させる時は,基本的には常にjuliaのコマンドラインを動かしておき,「include("ファイル.jl")」で実行させるのがいいのかなと思う。
いちいち「julia ファイル.jl」だととにかくPlotsパッケージの読み込みが死ぬほど長い。
「include("ファイル.jl")」だとrubyやpythonのように一度読み込んだパッケージの再読み込みは基本的にしない。

おっとincludeの前に「using Revise」も必要か。これをやらないと条件によっては変更が反映されない時がある。これは変更があったパッケージ・関数があると再読み込みしてくれるものだ。

あとPlotsパッケージ周りは実行環境が違えば正解がまったく変わるのでドツボにはまることこの上なし。
Windows,VS Code,emacs,それに使ってないけどjupyter notebookとそれぞれで最適解は違うような気がする。

なお,最初「TMP」を「~/.local/tmp」とかにしてドツボにはまる。「~/.local/~」のような隠しフォルダにはセキリティ対策のせいかsnapのfirefoxはアクセスできないようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...