以下の内容はhttps://ujimushisradjp.hatenablog.jp/entry/2024/04/08/234949より取得しました。


Plots.jl Ver.2を試用できる環境を構築する

Plots.jl 開発状況(Road to plots 2.0) で紹介した通り,Plots.jlのバージョン2の開発が進んでいる。

そこで,そのバージョン 2を試用できる環境を構築するスクリプトを作ってみた。 juliaのLibGit2がよく分かっていないので,gitコマンドで構築する。

using Pkg

function my_setup_plots_v2(env_path)
    wd_old = pwd()
    devplotpath = joinpath(env_path, "Plots.jl")
    cd(env_path)
    run(`git clone https://github.com/JuliaPlots/Plots.jl`)
    cd(devplotpath)
    run(`git checkout v2`)
    Pkg.activate(env_path)
    Pkg.develop(path=joinpath(devplotpath, "RecipesPipeline"))
    Pkg.develop(path=joinpath(devplotpath, "RecipesBase"))
    Pkg.develop(path=joinpath(devplotpath, "PlotsBase"))
    Pkg.develop(path=devplotpath)
    Pkg.precompile()
    cd(wd_old)
    nothing
end

※2025-01-18追記

Plots.jl v2のci.ymlを見ると,以前の日記とはサブパッケージ数が少なかったので以下のように修正してみる。また,LibGit2の利用にもチャレンジ。 PlotsGRBackendFontJaEmoji.jlのバージョン2対応の検証のためである。

using Pkg
using LibGit2

function my_setup_plots_v2(env_path)
    devplotpath = joinpath(env_path, "Plots.jl")
    url_plots = "https://github.com/JuliaPlots/Plots.jl"
    repo = LibGit2.clone(url_plots, devplotpath)
    LibGit2.branch!(repo, "v2")
    Pkg.activate(env_path)
    subpkgs = ["RecipesBase", "RecipesPipeline", "PlotThemes", "PlotsBase",
               "GraphRecipes", "StatsPlots"]
    for pkg in subpkgs
        Pkg.develop(path=joinpath(devplotpath, pkg))
    end
    Pkg.develop(path=devplotpath)
    Pkg.precompile()
    nothing
end

env_pathに環境を構築するフォルダを指定すると,その直下にPlots.jlをcloneして 必要なモジュールをdevelopする関数。

include("上記のソース.jl")
my_setup_plots_v2("構築/する/環境の/フォルダ")

とかすると構築できる。

なお,上記の環境には別途GRモジュールを手動で追加されたし。

で,使用例。

using Pkg
path_env = "/home/ujimushi/test"
Pkg.activate(path_env)
using Plots
import GR
gr()

plot(sin; title="Plots.jl Version 2のプレビュー環境", titlefontfamily="ipag")
savefig(joinpath(path_env, "plots_v2_1st.png"))

デフォルトではバックエンドが指定されていないので,import GRしてからgr()等が 必須となる。

それ以降の使い勝手は1.xとそれほど大きく変わらないのでは?と現状では推測している。




以上の内容はhttps://ujimushisradjp.hatenablog.jp/entry/2024/04/08/234949より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14