2017-12-21 9 views
0

두 변수에 대한 막대 그래프가있는 플롯을 생성해야합니다.ggplot - 동일한 데이터 프레임의 두 변수에 대한 막대 그래프

내가 어떻게 (엑셀에서 만든) 다음과 같은 차트를 받고 가야하는

df <- head(mtcars) 
df$car <- row.names(df) 
ggplot(df) + geom_col(aes(x=car, y=disp)) 

아래처럼 하나 개의 변수에 대한 열 그래프를 만들 수 있습니다 - 기본적으로 두 개 이상의 변수의 막대 그래프를 추가해야합니다. 하나 개의 컬럼이 색을 정의하고 하나 개의 컬럼은 y 값을 정의하도록

enter image description here

+0

참조하시기 바랍니다은 https ://stackoverflow.com/questions/3099219/plot-with-2-y-axes-one-y-axis-on-the-left-and-another-y-axis-on-the-right – Linus

+0

@Linus - 감사합니다. 나는 이차 축 질문에 대해 그 부분을 언급 할 것이다. – user3206440

+0

한 부분으로 만 질문을 수정했습니다 – user3206440

답변

1

ggplot 사용하면 긴 형식으로 데이터를 변환해야합니다

library(tidyr) 
df$car = row.names(df) 
df_long = gather(df, key = var, value = value, disp, hp) 
ggplot(df_long, aes(x = car, y = value, fill = var)) + 
    geom_bar(stat = 'identity', position = 'dodge') 

enter image description here

+0

범례를 맨 중앙으로 수평으로 가져 와서 y 축 레이블을 변수 이름으로 설정할 수있는 방법 !! – user3206440

+1

위의 질문에 대해 [ggplot2] 태그를 검색하면 훌륭한 솔루션을 찾을 수 있습니다. – Gregor

+0

그냥 관련이없는 주석 - 나는 당신이'<'대신에'= '를 사용하고있는 것을 보았습니다. 이것은 일반적으로 받아 들여지는 관행입니까? – user3206440