修改 R/ggplot2 中 stacked-area 图的图例和标签
Modify legend and labels of stacked-area plot in R/ggplot2
编辑:由 Haboryme 在评论中解决;问题是我使用 xlab 和 ylab 而不是 x 和 y 作为 labs() 的关键字参数的名称(解释图形标签),以及在第二次调用 aes() 时多余地使用 colour=(解释持久性)原始传说)。
我想用 R 和 ggplot2 从一些 CSV 数据制作一个 stacked-area 图表。例如:
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()
结果,在文件"test.png"中:
问题:我更改轴标签的尝试被忽略了,我的新图例(代码从 R Cookbook's suggestions 借用)被添加到(而不是替换)默认图例(奇怪地重新着色)。 (R Cookbook 提供的其他解决方案,例如调用指南(fill=FALSE),或多或少做同样的事情。)我宁愿不使用编辑我的数据框的解决方法(例如剥离 read.csv() 替换列 headers) 中的空格,以便默认标签正确。我该怎么办?
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")
geom_area()
的 aes()
中的参数 colour
仅对轮廓着色,因此不会在此处添加任何内容。
编辑:由 Haboryme 在评论中解决;问题是我使用 xlab 和 ylab 而不是 x 和 y 作为 labs() 的关键字参数的名称(解释图形标签),以及在第二次调用 aes() 时多余地使用 colour=(解释持久性)原始传说)。
我想用 R 和 ggplot2 从一些 CSV 数据制作一个 stacked-area 图表。例如:
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()
结果,在文件"test.png"中:
问题:我更改轴标签的尝试被忽略了,我的新图例(代码从 R Cookbook's suggestions 借用)被添加到(而不是替换)默认图例(奇怪地重新着色)。 (R Cookbook 提供的其他解决方案,例如调用指南(fill=FALSE),或多或少做同样的事情。)我宁愿不使用编辑我的数据框的解决方法(例如剥离 read.csv() 替换列 headers) 中的空格,以便默认标签正确。我该怎么办?
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")
geom_area()
的 aes()
中的参数 colour
仅对轮廓着色,因此不会在此处添加任何内容。