12

両方のプロットでポイントは異なって見えますが、なぜですか?

mya <- data.frame(a=1:100)

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, colour=2, size=seq(0.1,10,0.1))) +
  geom_point(data=mya, aes(x=a, y=a, colour=1, size=1)) +
  theme_bw() +
  theme(text=element_text(size=11))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, colour=2, size=1)) +
  geom_point(data=mya, aes(x=a, y=a, colour=1, size=1)) +
  theme_bw() +
  theme(text=element_text(size=11))

?aes_linetype_size_shape説明...

 # Size examples
 # Should be specified with a numerical value (in millimetres),
 # or from a variable source

しかし、私のコードでは、それは異なって見えます。

4

1 に答える 1

15

コードで起こっているいくつかの紛らわしいことがあります。aes意図しない方法で機能を使用しているようです。問題だけでなくsize、あなたは複数の伝説を得ています、そして私はggplotが色について混乱していると思います。

このaes関数は、美学をデータ内の変数にマップするために使用されますが、美学を定数に設定するために使用しています。さらに、このaes機能を使用して、2つの別々の美学を設定しています。定数に設定sizeしても、ggplot2は2つの別々の(パスとポイント)サイズマッピングを好みません。さらに、カラーマッピングでも同じことを行います。

sizeおよびcolourは定数値に設定されているため、aes関数の外に移動します。また、最初のプロットのパスに関しては、データフレームに変数をsize追加する方がおそらく安全です。size(ポイントとパスの両方が表示されるようにデータを少し変更しました。)そして、予想どおり、最初のプロットに1つの凡例が描画されます。

    library(ggplot2)
mya <- data.frame(a=1:10, size = seq(10, 1, -1))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, size=size), colour = 2) +
  geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
  theme_bw() +
  theme(text=element_text(size=11))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a), colour = 2, size = 1) +
  geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
  theme_bw() +
  theme(text=element_text(size=11))

ここに画像の説明を入力してください

于 2012-11-25T23:34:00.320 に答える