1. ホーム
  2. r

[解決済み] ggplotのアスペクト比を修正するには?

2023-01-27 19:13:56

質問

自分のドキュメントに合うようにプロットのサイズを変更しようとしているのですが、プロットされた図が正方形にならなくて困っています。

例です。

pdf(file = "./out.pdf", width = 5, height = 5)
p <- ggplot(mydata, aes(x = col1, y = col2))
print(p)
aux <- dev.off()

xとyの限界は同じですが、結果のプロットは正方形ではありません。Rは囲みパネルを5x5"にしていますが、実際の図のサイズは気にしていないのでしょう。

どのようにしたら を解除します。 を解除できますか?

どのように解決するのですか?

ggplot で、プロットのアスペクト比を保持する仕組みは coord_fixed() レイヤーをプロットに追加することです。 これは、実際のバウンディングボックスの形状に関係なく、プロット自体のアスペクト比を保持します。

(また、私はあなたが ggsave を使い、プロット結果を pdf/png/etc に保存することをお勧めします。 pdf(); print(p); dev.off() シーケンスではなく、pdf/png/etc に保存します)。

library(ggplot2)
df <- data.frame(
    x = runif(100, 0, 5),
    y = runif(100, 0, 5))

ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed()

<イグ