ujimushi(@旧sradjp(15364))の日記

旧スラドの日記の引越先です

frame_style(Plots.jl(GR))

今回はグラフのフレーム(外観)を設定するframe_styleアトリビュートの紹介をします。 といっても自分は今までに変更したことがなく,アトリビュート一覧で見つけて, 今回調べて「へ~」という感じです。

subplotアトリビュートになります。

別名

実は非常に多いです。frameaxisborderboxのスタイルに関係するのが 別名として利用できるようです。

  • frame_style, frame, frame_style, framestyle, framestyles
  • axes_style, axesstyle
  • border, border_style, borderstyle
  • box, box_style, boxstyle

使用例

次が使用例です。 図を見れば一目で分かるので説明する必要はないかと思います。

デフォルトは:axisで設定されています。 :origin以外はグラフ領域の外側にtickのラベルが表示されるようです。

一般的には:originの表示も多いような気がしますが,tickのラベルと線が重なってしまうので 個人的にはデフォルト表示で不満はありません。

0をはっきりしたい時は:zerolinesもいいかなと思います。

:noneはtickもgridも表示しないスタイルですね。

using Plots
import GR
gr()

plot(
    plot(sin; framestyle=:axis, title="framestyle=:axis"),
    plot(sin; framestyle=:box, title="framestyle=:box"),
    plot(sin; framestyle=:origin, title="framestyle=:origin"),
    plot(sin; framestyle=:zerolines, title="framestyle=:zerolines"),
    plot(sin; framestyle=:semi, title="framestyle=:semi"),
    plot(sin; framestyle=:grid, title="framestyle=:grid"),
    plot(sin; framestyle=:none, title="framestyle=:none"),
    size=(900, 600), layout=(3, 3), gridalpha=0.5
)

savefig("framestyle.png")

余談

なお,GRバックエンドはAxisの先に矢印をつけるdraw_arrowアトリビュートには対応していません。