1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JuliaのPlotsでインセットのある図を描画する

Last updated at Posted at 2024-11-19

プロットの中にプロット領域を作るような、インセット(inset)のある図を載せる方法が、日本語ではあまり検索に引っかからないため、こちらに備忘録として載せておきます。

インセットでプロットする方法

こちらのドキュメントを参考に、順番に図を交えて書いていきます。
すべてをまとめたサンプルコードはこちらです。

  1. using PlotsでPlotsを扱えるようにします。

    using Plots
    
  2. メインとなるプロットをmain_plotと名前を付けて、作成&描画します(今回は正弦波にしました)。

    main_plot = plot(sin)
    

    1.png

  3. インセットの描画領域を作成し、inset_plotという名前を付けておきます。 ここで、bbox(x, y, width, height)でインセットの位置と大きさを指定してあげます。

    inset_plot = plot!(main_plot,inset=bbox(0.3,0.3,0.4,0.4))
    

    2.png

  4. インセットにデータを描画します(今回は余弦波にしました)。

    plot!(inset_plot, cos, subplot=2)
    

    3.png

サンプルコード

以上の手続きをまとめて、少し成形したサンプルコードを載せておきます。

using Plots

default(
  fontfamily="serif-roman",
  guidefontsize=25,
  tickfontsize=10,
  legendfontsize=15,
  margin=5Plots.mm,
)

# メインプロット(sinカーブ)
main_plot = plot(
  sin,
  label="sin(x)",
  title="Sin Curve with Cos Inset",
  xlabel="x",
  ylabel="y",
  legend=:bottomleft,
  bg_inside = :azure2,
  )

# インセットの追加
inset_plot = plot!(main_plot, cos, 
      inset = bbox(0.37, 0.15, 0.2, 0.2), 
      subplot = 2, 
      legend = false,
      bg_inside = :azure,
      )
plot!(inset_plot, sin, 
      subplot = 2, 
      legend = false,
      )

出力結果

4.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?