5 satırlık faset çizimi ile 3 satır var. Her sıra farklı aralıklara yayılmış verileri gösterir. Verilerimi düzgün bir şekilde görüntülemek için her şey gösterilir, ben bir y ekseni sınırı ayarlamam.ggplot2 içinde bir faset çiziminin her satırı için y ekseni sınırlarını değiştirin
require(reshape2)
library(ggplot2)
library(RColorBrewer)
fileName = paste("./data_test.csv", sep = "")
## data available here: https://dl.dropboxusercontent.com/u/73950/data_test.csv
mydata = read.csv(fileName,sep=",", header=TRUE)
dataM = melt(mydata,c("id"))
dataM = cbind(dataM,
colsplit(dataM$variable,
pattern = "_",
names = c("Network_model", "order", "category")))
dataM$variable <- NULL
dataM <- dcast(dataM, ... ~ category, value.var = "value")
dataM$minCut <- NULL
dataM$nbr_communities <- NULL
dataM$mean_community_size <- NULL
dataM$density <- NULL
my_palette <- colorRampPalette(rev(brewer.pal(11, "Spectral")))
dataM = melt(dataM, id.vars = c("Network_model", "order", "nodesRemoved", "id"))
my_palette = c(brewer.pal(5, "Blues")[c(4)], brewer.pal(5, "Set1")[c(3)])
ggplot(dataM, aes(x= nodesRemoved ,y= value, group= order, color= order)) +
geom_point(size = .6,alpha = .15,position="jitter") + ## increased size
stat_smooth(se = FALSE, size = .5, alpha = .1, method = "loess") +
scale_color_manual(values=my_palette) +
theme_bw() +
theme(plot.background = element_blank(),
axis.line = element_blank(),
legend.key = element_blank(),
legend.title = element_blank(),
axis.text.x = element_text(size = 8),
axis.text.y = element_text(size = 8)
) +
scale_y_continuous("Value") +
scale_x_continuous("Time", limits=c(0, 100)) +
facet_grid(variable ~ Network_model,scales="free")
bu üretir: Burada
kodum var ben, üç sıra her biri için seçici set sınırları istiyorum, Şimdiilk satır böylece limitler = c (1,9, 3), ikincisi sınırlar = c (0, 1) ve üçüncü sınırlar = c (0,3, 0,7) 'dir.
Bunu ggplot2'nin faceting'inde nasıl yapabilirim?
(Başlangıçta daha net suçluları görmek için puan daha büyük yapılmış), ama kolay olmayacak. Senin yerinde olsaydım, her satır için bir tane olmak üzere üç gglot yapardım. Daha sonra y ekseni sınırlarını geleneksel bir şekilde ayarlayabilir, ardından satırları örneğin "grid.arrange" ile birlikte yapıştırabilirsiniz. (Örneğinizi tekrar üretilemez hale getirmedikçe, bunlarla ilgili herhangi bir cevap alacağınızdan şüpheliyim.) – Gregor
Eğer "ggplot" ile sınırlar ayarlıyorsanız, "scales =" free_y "yi deneyin; ' "özgür". Verilerinizi görmeden, aradığınız şey olup olmadığını tahmin etmek imkansız. – Gregor
Teşekkürler Gregor, veri seti ve tam kod ekledim! Şerefe! – Rodolphe