web-dev-qa-db-ja.com

軸ラベルをカスタマイズする

シンプルなgeom_pointプロット。x変数は序数で、5つの値(1:5でコード化)を取ります。

プロットでは、5つの対応するテキストラベルに置き換えます。 ggplotで実行できますか?

55
gappy

これを行うには、scale_x_discrete

library(ggplot2)
df <- data.frame(x = 1:5, y = sample(1:10, 5, TRUE))

qplot(factor(x),y, data = df) + 
scale_x_discrete(breaks = 1:5, labels=c("foo","bar","baz","phi","fum")) +
xlab(NULL)
49
Chase

scale_x_discreteそれを行う必要があります:

x <- sample(1:5, 20, T)
y <- rnorm(20) + x

df <- data.frame(x = ordered(x), y = y)

ggplot(df,aes(x,y)) + geom_point() + 
   scale_x_discrete(breaks = 1:5, labels = letters[1:5])
12

以下は、Q(?)をカプセル化したと思われる再現可能な例です。

require(ggplot2)
dat <- data.frame(X = sample(1:5, 100, replace = TRUE),
                  Y = rnorm(100))

どんなデータがあるのか​​すぐにはわかりませんが、次のような意味がある場合:

(p1 <- ggplot(dat, aes(x = X, y = Y)) + geom_point())

それからあなたはストリップチャートが欲しいと思う、それは因子を介してggplotで達成することができる

dat2 <- within(dat, X <- factor(X, labels = letters[1:5]))
(p2 <- ggplot(dat2, aes(x = X, y = Y)) + geom_point())

これが意図したものでない場合、Qを編集して例を提供できますか?

3
Gavin Simpson