我想为下面的数据绘制条形图。
year fips Emissions
1 1999 06037 68.4060000
2 2002 06037 78.0598486
3 2005 06037 85.7657985
4 2008 06037 85.1871200
5 1999 24510 0.5600000
6 2002 24510 10.5183944
7 2005 24510 10.2240684
8 2008 24510 0.4772056
此处fips
和year
是因素。
我在ggplot2
中尝试了以下代码g <- ggplot(df, aes(year, Emissions, fill=fips))
g +
geom_bar(stat = 'identity', position = position_dodge()) +
labs(title = "Comparative pollution levels in San Fransisco and Baltimore",
x = "Year", xlab = unique(df$year)) +
scale_color_manual(labels = c("San Fransisco", "Baltimore"), values = c("#999999", "#E69F00")) +
theme_bw() +
guides(color = guide_legend("Counties"))
这会产生以下情节:
尽管添加了代码,我也无法更改图例中的名称。
如何使用基础绘图系统绘制它?我能够使用ggplot2使用以下代码绘制它。
答案 0 :(得分:1)
在aes
来电中,您使用了fill
arg。因此,要编辑fill
的行为,您可以使用scale_fill_manual
代替scale_color_manual
(这将编辑color
中传递给aes
arg的行为的行为})。
我假设使用guides
的最后一行代码是为了编辑图例标题。在下面的代码中,我使用name
中的scale_fill_manual
编辑了标题。
library(ggplot2)
df <- read.table(text=" year fips Emissions
1 1999 06037 68.4060000
2 2002 06037 78.0598486
3 2005 06037 85.7657985
4 2008 06037 85.1871200
5 1999 24510 0.5600000
6 2002 24510 10.5183944
7 2005 24510 10.2240684
8 2008 24510 0.4772056", header=T)
df$year <- factor(df$year)
df$fips <- factor(df$fips)
g <- ggplot(df, aes(year, Emissions, fill=fips))
g +
geom_bar(stat = 'identity', position = position_dodge()) +
labs(title = "Comparative pollution levels in San Fransisco and Baltimore",
x = "Year", xlab = unique(df$year)) +
scale_fill_manual(name = "Counties",
labels = c("San Fransisco", "Baltimore"),
values = c("#999999", "#E69F00")) +
theme_bw()