【发布时间】:2015-12-14 15:35:45
【问题描述】:
我正在尝试使用 ggplot2 制作一个简单的 geom_point 图,但我无法显示图例。我有两个正在绘制的数据框,它们的长度不同(~2000 行与~6000 行)。
我尝试添加诸如“scale_shape_manual(values=c(21, 23)”之类的内容以使其弹出,但这没有奏效。我还尝试将“shape = 21”添加到 aes 和“shape = 23' 为他们各自的 geom_point 调用的 aes,但我收到错误'错误:提供给离散比例的连续值'。感谢您的帮助!请参阅下面的代码示例:
x1 = c(0, 1, 2, 3, 4)
y1 = c(0.44, 0.64, 0.77, 0.86, 0.91)
x2 = c(0, 1)
y2 = c(0.42, 0.61)
df1 = data.frame(x1, y1)
df2 = data.frame(x2, y2)
g<- ggplot(df1, aes(x = (df1[,1]), y = (df1[,2]*100))) +
geom_point(colour = 'black', size = 5, fill = 'blue', shape = 21) +
geom_point(data = df2, aes(x = df2[,1], y = (df2[,2]*100)),
colour = 'black', size = 4, fill = 'white', shape = 23) +
xlab("Consecutive Dry Years") + ylab("Percent") + ggtitle("Plot") +
scale_y_continuous(limits=c(0, 100)) +
scale_x_continuous(breaks=0:20) +
scale_shape_manual(values=c(21, 23),
name="My Legend",
labels=c("Simulated", "Historical")) +
# scale_fill_manual(values=c('blue', 'white'),
# name="My Legend",
# labels=c("Simulated", "Historical")) +
# scale_colour_manual(values=c('black', 'black'),
# name="My Legend",
# labels=c("Simulated", "Historical")) +
theme_bw()
g
【问题讨论】:
-
你有什么问题?....你的代码运行并产生了一个很好的情节
-
情节不会产生图例。我似乎无法弄清楚如何让图例出现。
-
你做错了..为了出现一个图例,应该有一个分类变量来区分你的数据。这两个数据框完全一样,而您只是在绘制点..