我是R的新手,我正在尝试根据形状,颜色和填充来构建一个对我的数据进行编码的散点图。我想要5种不同的颜色,3种不同的形状,这些要么是填充的,要么是填充的填充(在非填充点,我仍然需要形状和颜色)。 我的数据看起来基本上是这样的:
blank.test <- read.table(header=T, text="Colour Shape Fill X13C X15N
1 B B A 16 10
2 D A A 16 12
3 E A B 17 14
4 C A A 14 18
5 A A B 13 18
6 C B B 18 13
7 E C B 10 12
8 E A B 11 10
9 A C B 14 13
10 B A A 11 14
11 C B A 11 10
12 E B A 11 19
13 A B A 10 18
14 A C B 17 16
15 E B A 16 13
16 A C A 16 14")
如果我这样做:
ggplot(blank.test, aes(x=X13C, y=X15N,size=5)) +
geom_point(aes(shape=Shape,fill=Fill,color=Colour))
我没有填充或未填充的数据点
我做了一点研究,看起来问题出在符号本身上,不能对线条和填充采取不同的设置;建议我使用21到25之间的形状pch
但如果我这样做:
ggplot(blank.test, aes(x=X13C, y=X15N,color=(Colour), shape=(Shape),fill=(Fill),size=5)) +
geom_point() + scale_shape_manual(values=c(21,22,25))`
我仍然不是我想要的
我也试过玩scale_fill_manual
而没有任何好结果。
答案 0 :(得分:1)
我认为你不能使用填充积分。我要做的是在填充和形状之间创建一个交互,并使用这个新因子来定义你的形状和填充/打开符号
blank.test$inter <- with(blank.test, interaction(Shape, Fill))
然后对于你的情节,我会使用类似的东西
ggplot(blank.test, aes(x=X13C, y=X15N)) +
geom_point(aes(shape=inter,color=Colour)) + scale_shape_manual(name="shape", values=c(0,15,1, 16, 2, 17)) + scale_color_manual(name="colour", values=c("red","blue","yellow", "green", "purple"))
答案 1 :(得分:1)