このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ggplot2のスケール

  • プロットオブジェクトのscalesメンバーには、S4オブジェクト(への参照)が入っている。
  • S4オブジェクトのさらにscalesメンバーがあって、これはリスト。
  • それとは別にS3システムで書かれたscale_*関数群がある。
  • かなり混乱している。色々とツギハギな感じ。おそらく機能拡張のせいだろう。

スケールは、aes属性ごとに定義される。変換元のデータの性質ごとに別なスケーリングオブジェクトが準備されている。スケーリングオブジェクトはS3クラスで実装されている。コンストラクタのネーミングは「scale_属性名_データの性質」。scale_*_*() は、"position_c" "continuous" "scale" とS3クラス付けされたS3オブジェクトを返す。

Rによくある、名前によってオブジェクトや関数群を組織化する例。メカニズムがないのはなり厳しい。