[[ggplot2]] では、`fill`、`color`、`size` などのエステティック属性を指定する場所により動作が異なる。`ggplot2::aes()` 内で指定する場合は変数 (データフレームの列) を使用し、`ggplot2::aes()` 外で指定する場合は定数 (固定値) を使用する。
```r
ggplot(mtcars, aes(x = wt, y = mpg, color = cyl)) +
geom_point()
```
![[ggplot2-aes-color-variable.png]]
```r
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(color = "blue")
```
![[ggplot2-aes-color-constant.png]]
`ggplot2::aes()` 外で変数を指定した場合、エラーが発生する。
```r
ggplot(mtcars, aes(wt, mpg)) +
geom_point(color = cyl)
#> Error:
# ! オブジェクト 'cyl' がありません
```
## 関連ノート
- **[前提]** [[ggplot2 は geom を組み合わせて可視化する]]: エステティック属性は geom の中で指定する要素
- **[応用]** [[ggplot2 の棒グラフの塗りつぶし色を変更する]]: 本ノートのルールを棒グラフに当てはめた代表例
- **[応用]** [[ggplot2 で積み上げ棒グラフを作成する]]: 本ノートの変数/定数ルールを実践する例
- **[応用]** [[ggplot2 で 100%積み上げ棒グラフを作成する]]: 本ノートのルールに応用オプションを重ねた例