7

ggplot2 geom_point を使用して、連続変数がさまざまな要因で層別化されたポイント プロットを作成したいと考えています。

かなり複雑です。おそらく 1 つのグラフで多くを示そうとしていますが、物事に影響を与える 3 つの異なる要因があります。

こんな感じで見せたい

p <- ggplot(mtcars[,c(1,2,10,11)], aes(factor(cyl), mpg))
p + geom_point(aes(colour = factor(gear), shape=factor(carb)))

ここに画像の説明を入力

ただし、要素 (ギア) を分割したい、つまり、x 軸上の 3 つの要素 (cyl) 値のそれぞれについて、x 軸上の異なる要素 (ギア) の色の間に小さな距離が必要です。

つまり、factor(cyl) == 4 内では、factor(gear) == 3 は 3.9 のようなものであり、factor(gear) == 4 は 4 のようなものであり、factor(gear) == 5 は 4.1 のようなものです。これは、factor(cyl) 値ごとに繰り返されます。

それが理にかなっていることを願っています

注意これはおもちゃの例です。因数分解された数値ではなく、数値以外のカテゴリ値を使用してそれを行うことになります。3.9/4.1 に値を設定するのはわかりにくいと思います。

4

2 に答える 2

9

facet_grid()mtcarsの例:

library(ggplot2)
data(mtcars)

p <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_point(aes(colour=factor(carb)))
p + facet_grid(. ~ gear)

歯車の数で

于 2012-06-26T11:52:49.137 に答える
4

subsetこれを行う1つの方法です。データをでサブセット化しgears、次に各サブセットのポイントのセットを順番に配置します。

library(ggplot2)

p <- ggplot()
p + geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 3), aes(x = as.numeric(factor(cyl)) - 0.1, y = mpg, colour = factor(gear), shape=factor(carb))) +
    geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 4), aes(x = as.numeric(factor(cyl)), y = mpg, colour = factor(gear), shape=factor(carb))) +
    geom_point(data = subset(mtcars[,c(1,2,10,11)], gear == 5), aes(x = as.numeric(factor(cyl)) + .1, y = mpg, colour = factor(gear), shape=factor(carb))) +
   scale_x_continuous("Cylinders", breaks = c(1,2,3), labels = c(4,6,8), expand = c(.2,0))

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

于 2012-06-26T11:29:00.200 に答える