Julia StatsPlotsでデータフレーム名を省略するマクロ@df
概要
ジュリアのStatsPlots
パッケージでは、図を描く時に@df
マクロを通して、繰り返されるデータフレーム名を省略することができる1。マクロを使う文法は、データフレームX
のa
列を使う場合、@df X
というようにどのデータフレームを使うか指定した後、直ぐに続くスコープでa
をシンボルの:a
として引数に渡し、plot (:a)
という風に書くことだ。コードで要約すると、@df X plot(:a)
と書く。
コード
以下は、アイリスデータのSepalLengthとSepalWidthで描いた散布図だ。
次のコードscatter(iris.SepalLength, iris.SepalWidth)
と@df iris scatter(:SepalLength, :SepalWidth)
は同じである。
using RDatasets
iris = dataset("datasets", "iris")
using StatsPlots
scatter(iris.SepalLength, iris.SepalWidth)
@df iris scatter(:SepalLength, :SepalWidth)
環境
- OS: Windows
- julia: v1.8.3
- StatsPlots v0.15.4