首页 > 解决方案 > 在 R 中使用 ggplot2 时如何使用数据框中的列指定颜色和线型?

问题描述

我的数据框df包括变量xyColorLineType。我可以通过 中的列自动指定颜色和线型,同时使用ggplot2df绘制线+标记图吗?

library(ggplot2)

df = data.frame(x, y, Color, LineType)

P <- ggplot(DATA, aes(x=x.Years, y=y)) +
  geom_point(size=5, aes(color=Color)) +
  geom_line(aes(color=Color, linetype=LineType), size=2)

上面的代码不起作用。中有两种颜色Color和两种线型LineType,但一切都是红色和实线。我做错了什么?如何同步每个数据点的绘图功能?

标签: rdata-visualizationggplot2

解决方案


不太确定您的意思或情节出了什么问题,但如果您想使用 data.frame 手动指定颜色,您可以:

DATA = data.frame(x.Years=rep(1:5,2),y=c(1:5,8:12),
Color=rep(c("#dd7631","#708160"),each=5),
LineType = rep(c("dotted","dashed"),each=5))

ggplot(DATA,aes(x=x.Years,y=y)) + geom_point(aes(color=Color)) +
geom_line(aes(color=Color,linetype=LineType)) + 
scale_color_identity() + scale_linetype_identity()

在此处输入图像描述


推荐阅读