我想使用ggplot
在同一图中绘制两个比率。
我要做的是以下
plot1 <- ggplot(table3, aes(x = issue_yr, y = share1, group = 1)) +
geom_point() +
geom_line(colour="red") +
labs(title = "Charged Off rate for each year", y="%")
plot1 + geom_point()+ geom_line(aes(x=issue_yr, y = share2), color = "blue")
但图2的点未显示。如何添加积分?
答案 0 :(得分:2)
最后一个geom_line
是唯一映射到y = share2的几何。您可以将最后一行替换为:
plot1 +
geom_point(aes(y = share2)) +
geom_line(aes(y = share2), color = "blue")
或者,更习惯地说,您可以先将数据转换为长格式(又称“整洁”),然后再将其发送到ggplot中。像下面的代码这样的东西会将您要绘制的两列(share1和share2)合并为一个列,以一个名为share_type
的新列来区分。
table3 %>%
gather(share_type, value, share1:share2)
然后您将在ggplot调用中映射该字段,类似这样,它将绘制您的两个系列并添加图例。
plot1 <- ggplot(table3, aes(x = issue_yr, y = value, color = share_type)) +
geom_line() + # Color of the line will be mapped based on share_type
geom_point(color = "black") # Assumes you want all points black
当您可以使用ggplot的内置映射为您完成工作时,我认为它非常优雅。如果要手动控制各个系列的外观,则可以使用scale_color_manual()来选择要使用的颜色。