편집 : 의견에 Haboryme에 의해 해결됨. 문제는 x와 y 대신 xlab과 ylab를 labs() (그래프 레이블 설명)의 키워드 인수 이름으로 사용하고 aes()의 두 번째 호출에서 color = 중복 사용 (지속성 설명 원래 전설의).R/gplot2의 누적 영역 플롯 레이블 및 범례 수정
R 및 ggplot2를 사용하여 일부 CSV 데이터에서 스택 영역 차트를 만들고 싶습니다. 예를 들어 파일 "test.png"에
library(ggplot2)
library(reshape)
df <- read.csv('test.csv')
df <- melt(df, id="Year")
png(filename="test.png")
gg <- ggplot(df,aes(x=as.numeric(Year),y=value)) +
# Add a new legend
scale_fill_discrete(name="Series", labels=c("Foo bar", "Baz quux")) +
geom_area(aes(colour=variable,fill=variable)) +
# Change the axis labels and add a title
labs(title="Test",xlab="Year",ylab="Values")
print(gg)
dev.off()
결과, :
In file "test.csv":
Year,Column with long name 1,Column with long name 2
2000,1,1
2001,1,1.5
2002,1.5,2
이 코드 (this GIS.SE question에 대한 답변을 모방)를 실행
문제 : 내 축 레이블을 변경하려는 시도가 무시되고 내 새 범례 (R Cookbook's suggestions에서 빌린 코드 사용)가 추가되지 않았습니다. (이상하게 recolored) 기본 하나. (R cookbook에서 제공하는 다른 솔루션 (예 : fill = FALSE)은 거의 같은 일을합니다.) 데이터 프레임을 편집하는 방법을 사용하지 않을 것입니다 (예 : read.csv)는 열 머리글의 공백을 대체하므로 기본 레이블이 올바르게 표시됩니다. 어떻게해야합니까?
대신에 + labs (title = "Test", x = "Year", y = "Values")'를 사용하고 aes()에 색상을 떨어 뜨리면 아무 것도 가져 오지 않습니다. – Haboryme
@Haboryme 이것은 완벽하게 작동했습니다! 훌륭한! 이것을 자신의 답변으로 게시하면 동의로 표시됩니다. –