2014-09-11 4 views
0

을 채우기 때문에 같은 것을 사용하여 왼쪽에서 오른쪽으로 그들은 알파벳 순서로 단지리스트하지 마십시오 때 다음내가 수동으로 ggplot2 내 히스토그램 바의 순서를 설정하고 순서

p + xlim("second", "first", "third") 

p + scale_fill_grey() 

막대를 가장 어두운 색부터 가장 밝은 색까지 표시합니다. "초"에서 "첫"에서 "세 번째"순으로 채울 수 있습니까? 또는 같은 색으로 다른 막대를 그룹화 할 수 있습니까?

답변

0

나는 당신이 무엇을 요구하고 있는지 확실하지 않습니다. 나는 혼란 스럽다. 그러나 scale_fill_grey()을 사용하면 x 축에서 처음 오는 것이 어둡습니다. 즉, 축에 대한 요소의 레벨을 재정렬해도 첫 번째 막대 그림에 어두운 색이 표시됩니다. 귀하의 질문에서 볼 수있는 한, 당신은 수동으로 막대에 색상을 지정할 수 있습니다. 이것이 앞으로 나아갈 수 있기를 바랍니다.

enter image description here

# I create a sample data, which you should provide when you ask a question. 
location <- c("London", "Paris", "Madrid") 
value <- runif(3, 15,30) 

foo <- data.frame(location, value, stringsAsFactors = F) 
foo$location <- factor(foo$location) 

# Colors are assigned in the alphabetical order of the cities. 

ggplot(foo, aes(x = location, y = value, fill = location)) + 
    geom_bar(stat="identity") + 
    scale_fill_manual(values=c("black", "grey", "white")) 

는 지금은 도시의 순서를 변경하고 다른 그림을 그립니다. 그러나 색상은 여전히 ​​알파벳 순서로 지정됩니다.

foo$location <- factor(foo$location, levels = c("Paris", "Madrid", "London")) 

ggplot(foo, aes(x = location, y = value, fill = location)) + 
    geom_bar(stat="identity") + 
    scale_fill_manual(values=c("white", "grey", "black")) 

enter image description here

+0

이 도움이됩니다. 수동 착색은 내가 수동으로 색을 찾는 것과 정확히 일치합니다. 그러나 자동 색상 채우기에 관해서는, 나는 약간 다른 것을 찾고 있습니다. 귀하의 예에서 첫 번째 줄거리는 검은 색 회색 흰색입니다. 그런 다음 바를 재정렬하면 런던은 여전히 ​​검은 색이고 마드리드는 회색이고 파리는 흰색입니다. 막대를 넣는 순서에 관계없이 가장 왼쪽의 막대를 검정색으로, 중간을 회색으로, 가장 오른쪽에 흰색으로 자동 채우는 방법이 있습니까? 감사. –

+0

@TheNightman 이제 나에게 명확 해지기를 원하는 것. 원하는 경우, 두 번째 예제에서'scale_fill_grey()'를 사용하고 싶습니다. 그러면 왼쪽 가장자리에 나타나는 도시가 가장 어두운 색상을 갖게됩니다. – jazzurro

+0

그래서 'scale_fill_grey()'는 내가 사용하고있는 것이었지만 x 축을 따라 순서에 관계없이 알파벳 순서로 막대를 채 웁니다. 왼쪽에서 오른쪽으로 채우기 위해 'scale_fill_grey()'에 전달해야하는 것이 있습니까? –

관련 문제