2013-07-06 2 views
5

Я очень новичок в R, и я пытаюсь построить третью переменную в сюжете с использованием ggplot2. Я искал ответ, и я не мог найти ничего подобного (или я не знал правильных слов для поиска).Построение третьей переменной по оси x и y

У меня есть три столбца данных, которые будут моими переменными x, y и z.

Мне нужен график, который может отображать значения для оси x и y (как в первой и второй переменных столбца). Однако, я хочу, чтобы «точки» (как график рассеяния) на графике представляли значения, указанные в переменной z. Есть ли способ сделать это? Все, что я пробовал заговор x против y.

Спасибо за помощь!

+0

Я думаю, эскиз, или сюжет первенствовать, что вы хотите, это поможет. Я не уверен, что мой ответ - это то, что нужно. –

+0

Я попытался загрузить фигуру, но у меня все еще нет разрешения на это. Я думаю, что хочу сделать что-то, добавив серию в excel. Представьте, что у меня есть значение для x = VirusProbabitlity1, для y = VirusRate1. То, что я хочу построить, это значение z = 0,0015. – Fabs

ответ

3

Я хочу, чтобы «точки» (как график рассеяния) на графике представляли значения, указанные в переменной z. Есть ли способ сделать это?

Определенно. Бит, о котором вам нужно подумать, - представить данные в вашей переменной z. Под этим я подразумеваю, что вы хотите, чтобы информация в z отображалась цветом, размером или областью точек? Есть несколько отличных примеров того, как это сделать на the R cookbook.

Если у вас есть фрейм данных под названием my.data, которая имеет столбцы x, y и z, вы должны настроить свой график так:

my.plot <- ggplot(data = my.data, 
        aes(x = x, 
         y = y)) 

В приведенном выше примере говорит «построить данные в my.data используя my.data$x, чтобы установить местоположение x и y.data$y, чтобы установить местоположение y ". Если ваша переменная х была grid.x и у был grid.y вы бы

my.plot <- ggplot(data = my.data, 
        aes(x = grid.x, 
         y = grid.y)) 

, то вам нужно добавить свои очки. На этот раз мы будем считать, что информация в z будет использоваться, чтобы установить цвет точек, которые в данном случае является colour эстетическим:

my.plot <- my.plot + geom_point(aes(colour = z)) 
print(my.plot) 

И это должно быть. Вам не нужно сообщать geom_point(), что такое x и y, потому что вы уже это сделали, когда настраиваете сюжет.

+0

Если вы не хотите, чтобы вы написали свою переменную 'z' на оси y, в этом случае ее' my.plot <- ggplot (data = my.data, aes (x = x, y = z)) + geom_point() '. –

+0

Спасибо! Но это не то, что я хочу сделать .... Я хочу загрузить файл с фигурой или что-то подобное. Но у меня до сих пор нет разрешения на это. Но все равно спасибо! – Fabs

4

Я считаю, что это то, о чем вы просите: сопоставьте две переменные: (x, y) в своей оси и отобразите «текст» третьей переменной. Давайте использовать этот кадр данных - Постараемся «написать» X1 и X3

df <- data.frame(X1 = 1:5, X2 = 2*1:5, X3 = rnorm(1:5)) 

С базовой графики вы можете просто сюжет один символ

plot(df$X1, df$X2, pch = paste(df$X1)) plot(df$X1, df$X2, pch = paste(df$X3)) 

не кажется, работает хорошо ,

Использование ggplot2:

ggplot(df, aes(x = X1, y = X2)) + geom_text(label = df$X1) 
ggplot(df, aes(x = X1, y = X2)) + geom_text(label = df$X3) 

любитель альтернатива добавляет цвет в АЭ()

ggplot(df, aes(x = X1, y = X2, color=X3)) + geom_text(label = df$X3) 
+0

Спасибо! Я в конечном итоге делаю контурный сюжет ... Я не хочу отображать (x, y) в сюжете. Но я хотел бы, чтобы значения z были связаны с (x, y). Я попытался использовать то, что вы предложили для моих данных, но поскольку мне нужно использовать что-то похожее на facet_wrap, я получаю сообщение об ошибке. – Fabs

+0

Хорошо. Отлично. Возможно, вы могли бы ответить на свой вопрос тем, что вы делали. – marbel

Смежные вопросы