2017-12-19 4 views
1

이 데이터는 d이라고합니다. 아래의 코드를 사용하여 데이터를 플롯하지만 X 축의 범위는 매우 높습니다. X 축 레이블을 플롯에 맞게 만들려면 어떻게해야합니까? 나는 또한 chr1에서 chr16까지 순서대로 음모를 꾸미기를 원합니다. 도와 줘서 고마워.거대한 범위의 패싯 격자 축 레이블을 맞추는 방법 R

d<- structure(list(chr = c("chr10", "chr10", "chr10", "chr11", "chr11", 
"chr11", "chr12", "chr12", "chr12", "chr13", "chr13", "chr13", 
"chr14", "chr14", "chr14", "chr15", "chr15", "chr15", "chr16", 
"chr16", "chr16", "chr1", "chr1", "chr1", "chr2", "chr2", "chr2", 
"chr3", "chr3", "chr3", "chr4", "chr4", "chr4", "chr5", "chr5", 
"chr5", "chr6", "chr6", "chr6", "chr7", "chr7", "chr7", "chr8", 
"chr8", "chr8", "chr9", "chr9", "chr9"), start = c(6, 14, 19, 
3, 10, 16, 60, 73, 80, 4, 11, 27, 67, 75, 81, 2, 7, 15, 13, 99, 
142, 1, 8, 21, 49, 53, 78, 92, 121, 165, 35, 42, 47, 5, 9, 17, 
12, 20, 34, 44, 51, 56, 61, 66, 94, 18, 31, 37), stop = c(6, 
14, 19, 3, 10, 16, 60, 73, 80, 4, 11, 27, 67, 75, 81, 2, 7, 15, 
13, 99, 142, 1, 8, 21, 49, 53, 78, 92, 121, 165, 35, 42, 47, 
5, 9, 17, 12, 20, 34, 44, 51, 56, 61, 66, 94, 18, 31, 37), density = c(10, 
4, 1, 13, 1, 1, 18, 48, 526, 3, 1, 1, 13, 74, 177, 1, 3, 5, 9432, 
3, 5, 1, 32, 1, 60, 4, 3, 2, 1, 10, 4, 10, 6, 6, 2, 3, 5, 65220, 
11136, 1, 25, 36, 5, 6, 1, 4, 7, 11)), .Names = c("chr", "start", 
"stop", "density"), row.names = c(NA, -48L), class = "data.frame") 

내 코드 :

library(ggplot2) 
    ggplot(d, aes(start, density)) + 
    geom_line(alpha = 0.9) + 
    facet_grid(. ~ chr) + 
    labs(title = "Density profiles along the chromosomes", 
     x = "Coordinate, bp", 
     y = "Density") + 
    theme_bw() 
+2

:'안양 $의 chr'는 요인이 될한다 [여기]를 참조 (https://stackoverflow.com/questions/14262497/fixing-the-order-of -facets-in-ggplot). 당신의 첫 번째 질문에 대해 확실하지는 않지만'... + facet_grid (.chr, scales = "free_x") + ...'를 찾고 있습니까? – markus

+0

@markus X- 범례에서 값의 과밀 현상을 최소화하고 싶습니다. – MAPK

+0

이것을 시도해보십시오 :'d $ chr <- factor (d $ chr, levels = c ('chr1', 'chr2', 'chr3', 'chr4', 'chr5', 'chr6', 'chr7', 'chr8 ','chr9 ','chr10 ','chr11 ','chr12 ','chr13 ','chr14 ','chr15 ','chr16 '))'수준이 중요합니다. – markus

답변

0

나는 축이 각면에 대해 개별적으로 틱 설정할 수 생각하지 않습니다. 그리드에 패싯을 배치하는 것이 더 나을 수도 있습니다.

d$chr <- factor(d$chr, levels = c('chr1', 'chr2', 'chr3', 'chr4', 'chr5', 'chr6', 'chr7', 'chr8', 
            'chr9', 'chr10', 'chr11', 'chr12', 'chr13', 'chr14', 'chr15', 'chr16')) 

library(ggplot2) 
ggplot(d, aes(start, density)) + 
    geom_line(alpha = 0.9) + 
    facet_wrap(~ chr, nrow = 4, scales = "free_x") + 
    labs(title = "Density profiles along the chromosomes", 
     x = "Coordinate, bp", 
     y = "Density") + 
    theme_bw() 
두 번째 질문에 대한

enter image description here