按形状,颜色和填充的R散点图

时间:2015-12-06 15:36:48

标签: r plot ggplot2 fill

我是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))

我没有填充或未填充的数据点

enter image description here

我做了一点研究,看起来问题出在符号本身上,不能对线条和填充采取不同的设置;建议我使用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))`

我仍然不是我想要的

enter image description here

我也试过玩scale_fill_manual而没有任何好结果。

2 个答案:

答案 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)

我可以让情节工作得很好,但传说似乎绝对坚持 tableView.estimatedRowHeight = 100 tableView.rowHeight = UITableViewAutomaticDimension 的黑色。我无法弄清楚原因。也许其他人有答案。

图例上的fill是因为它位于5内部,其中只有随您的数据而变化的元素属于。{/ p>

以下是一些示例代码:

aes

enter image description here