簡體   English   中英

按形狀、顏色和填充繪制的 R 散點圖

[英]R scatter plot by shape, colour and 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))

我沒有得到填充或未填充的數據點

在此處輸入圖片說明

我做了一點研究,看起來問題出在符號本身,不能對線和填充進行不同的設置; 建議我使用 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沒有任何好的結果。

我不認為你可以使用填充點。 我要做的是創建填充和形狀之間的交互,並使用這個新因素來定義您的形狀和填充/打開符號

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"))

我可以讓情節正常工作,但傳說似乎絕對堅持為fill黑色。 我不明白為什么。 也許其他人有答案。

圖例上的5是由於將其放在aes引起的,其中只有隨數據變化的元素才屬於。

下面是一些示例代碼:

ggplot(blank.test, aes(x = X13C, y = X15N, color = Colour, shape = Shape, fill = Fill)) + 
  geom_point(size = 5, stroke = 3) + 
  scale_shape_manual(values=c(21,22,25)) +
  scale_color_brewer(palette = "Set2") +
  scale_fill_brewer(palette = "Set1") +
  theme_bw()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM