में एक पहलू साजिश की प्रत्येक पंक्ति के लिए वाई धुरी सीमा बदलें मेरे पास 5 कॉलम पहलू साजिश द्वारा 3 पंक्तियां हैं। प्रत्येक पंक्ति डेटा दिखाती है जो विभिन्न श्रेणियों में फैली हुई है। मेरे डेटा को सही तरीके से प्रदर्शित करने के लिए, सबकुछ दिखाया गया है, मैं वाई अक्ष की सीमा निर्धारित नहीं करता हूं।ggplot2
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")
कौन इस का उत्पादन:
यहाँ मेरी कोड है
अब, मैं, तीन पंक्तियों में से प्रत्येक के लिए करने के लिए चुनिंदा सीमाएं सेट करना चाहते हैं ताकि पहली पंक्ति सीमा = सी (1.9, 3) है, दूसरा सीमा = सी (0, 1) है और तीसरा सीमा = सी (.3, .7) है।
मैं इसे ggplot2 में faceting में कैसे प्राप्त कर सकता हूं?
यह पहलुओं के साथ संभव हो सकता है (मैं शुरू में अंक बड़ा अपराधियों अधिक स्पष्ट रूप से देखने के लिए किया जाता), लेकिन यह आसान नहीं होगा। अगर मैं तुम थे, तो मैं तीन जीजीप्लॉट बनाउंगा, प्रत्येक पंक्ति के लिए एक। फिर आप वाई अक्ष की सीमा को पारंपरिक तरीके से सेट कर सकते हैं, फिर पंक्तियों को एक साथ चिपकाएं, उदाहरण के लिए, 'grid.arrange'। (मुझे संदेह है कि जब तक आप अपना उदाहरण पुन: उत्पन्न नहीं करेंगे तब तक आपको कोड के साथ कोई जवाब नहीं मिलेगा।) – Gregor
हालांकि, यदि आप सीमा निर्धारित करने के लिए 'ggplot' के साथ ठीक हैं, तो' scales = "free_y" ', 'scales = "मुक्त" '। अपने डेटा को देखे बिना यह अनुमान लगाना असंभव है कि यह वही है जो आप खोज रहे हैं। – Gregor
धन्यवाद ग्रेगोर, मैंने डेटासेट और पूर्ण कोड जोड़ा! चीयर्स! – Rodolphe