2016-01-16 2 views
2

Как можно построить многоплоскостные графики на одном и том же множестве осей? Я понимаю, как построить многострочные графики и разброс графиков вместе, однако вопрос о том, что графики плотности имеют общую ось X, отключает меня. Мои данные в настоящее время установлены как таковые:R - Как рассчитать участки с плотной плотностью с ggvis

name x1 x2 x3 
a  123 123 123 
b  123 123 123 
c  123 123 123 

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

EDIT: Вот некоторые подробности, которые я отсутствовал, что может помочь сделать мой вопрос более ясным.

У меня есть кадр attr_gains данных, который выглядит, как в примере выше, и чьи имена переменных являются Str, Agi и Int. До сих пор я был в состоянии получить график плотности переменной Str в одиночку с этим кодом:

attr_gains %>% 
    ggvis(x=~Str)%>% 
    layer_densities(fill :="red", stroke := "red") 

То, что я хотел бы сделать, это наложение более двух участков плотности, один для Agi и Int каждый, так что У меня три графика плотности на одном и том же наборе осей.

+0

Есть некоторые примеры здесь: http://www.cookbook-r.com/Graphs/Plotting_distributions_(ggplot2)/ – ytk

+0

Спасибо за ссылку , Похоже, что эти методы применимы к ggplot2, тогда как я занимаюсь ggvis. – ToTheClassiest

+0

Что вы уже пробовали? Где вы застряли? Пожалуйста, поставьте минимальный воспроизводимый пример, чтобы согласиться с вашим вопросом. Что-то, с чем мы можем работать и использовать, чтобы показать вам, как можно ответить на ваш вопрос. Вы можете посмотреть [этот пост SO] (http://stackoverflow.com/help/mcve) о том, как сделать отличный воспроизводимый пример в R. –

ответ

3

Непосредственно из документации:

PlantGrowth %>% 
    ggvis(~weight, fill = ~group) %>% 
    group_by(group) %>% 
    layer_densities() 

Link

Ваш случай:

set.seed(1000) 
library('ggvis') 
library('reshape2') 

############################################# 

df = data.frame(matrix(nrow = 3, ncol = 5)) 
colnames(df) <- c('names', 'x1', 'x2', 'x3', 'colors') 

df['names'] <- c('a','b','c')  
df['x1'] <- runif(3, 100.0, 150.0) 
df['x2'] <- runif(3, 100.0, 150.0) 
df['x3'] <- runif(3, 100.0, 150.0) 
df['colors'] <- c("blue","orange","green") 

df <- melt(df) 

############################################# 

df %>% 
    ggvis(~value, fill = ~colors) %>% 
    group_by(names) %>% 
    layer_densities() 

Пожалуйста, смотрите this SE page для получения информации о контроле ggvis цвет (ы).


выглядит так:

Density Plot

+0

Спасибо! Я не думал использовать 'reshape2', я пытался сделать это с помощью ggvis. Я попробовал его с reshape2, хотя и это сработало, я ценю вашу помощь. Поскольку мне было трудно найти информацию о укладке многоплодных участков с помощью ggvis, знаете ли вы, как я буду определять цвет каждого графика плотности? Или вы знаете ресурс, который я мог бы использовать, чтобы понять это? – ToTheClassiest

+0

Ответ был обновлен. Удачи! – lnNoam

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