Настроить метки оси - PullRequest
       12

Настроить метки оси

53 голосов
/ 23 февраля 2011

У меня есть простой geom_point график, в котором переменная x является порядковой, принимая 5 значений (закодировано 1: 5).

В графике я хотел бы заменить ее на 5 соответствующихтекстовые метки.Возможно ли это сделать в ggplot?

Ответы [ 3 ]

47 голосов
/ 23 февраля 2011

Вы должны быть в состоянии сделать это с 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)
12 голосов
/ 23 февраля 2011

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])
3 голосов
/ 23 февраля 2011

Вот воспроизводимый пример, который, я думаю, инкапсулирует ваш 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, чтобы привести пример?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...