我想使用R和ggplot2从一些CSV数据制作堆积区域图表。例如:
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的答案):
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()
结果,在文件&#34; test.png&#34;:
问题:我忽略了更改轴标签的尝试,并且我的新图例(使用从R Cookbook's suggestions借来的代码)被添加到(奇怪的重新着色)默认值中。 (R Cookbook提供的其他解决方案,例如调用指南(fill = FALSE),或多或少都做同样的事情。)我宁愿不使用编辑我的数据帧的解决方法(例如剥离读取的句点。 csv()替换列标题中的空格),以便默认标签变得正确。我该怎么办?
答案 0 :(得分:2)
ggplot(df,aes(x=as.numeric(Year),y=value)) +
scale_fill_discrete(name="Series", labels=c("Foo bar", "Baz quux")) +
geom_area(aes(fill=variable)) +
labs(title="Test",x="Year",y="Values")
colour
的{{1}}中的参数aes()
仅为轮廓着色,因此不会在此处添加任何内容。