如果要确保颜色和形状的映射是一一对应的,可以使用factor()
函数将字段转换为有序因子,并指定对应的颜色和形状。这样可以确保不同的值始终对应相同的颜色和形状。 以下是修改后的示例代码,确保颜色和形状的映射是一一对应的:
library(ggplot2)
# 假设有一个数据框 df,包含字段LX和CD
df <- data.frame(
LX = c("U", "M", "D"),
CD = c("LY", "XY", "YW"),
X = c(1, 2, 3),
Y = c(4, 5, 6)
)
# 将LX和CD字段转换为有序因子,并指定对应的颜色和形状
df$LX <- factor(df$LX, levels = c("U", "M", "D"), labels = c("红色", "黑色", "蓝色"))
df$CD <- factor(df$CD, levels = c("LY", "XY", "YW"), labels = c("圆形", "三角形", "正方形"))
# 创建一个 ggplot 对象,并映射 LX 字段到颜色、CD 字段到形状
p <- ggplot(df, aes(x = X, y = Y, color = LX, shape = CD))
# 添加点图层
p <- p + geom_point()
# 显示图形
print(p)