2017-08-17 40 views
0

我想删除我的boxplot右侧的额外空间。我一直无法找到解决方案。R ggplot(代码如下)试图删除BoxPlot右侧的额外空间

x轴上的字母代表不同的因素。在数据集中,我有A,B,C,D,OH88119和NA。 NA代表缺失的数据。是否有可能导致空的空间出现?

YEAR LOC ROW BLOCK PLOT RATING R_Source QTL.SOURCE 
2 2017 Unit2 1 1 6302 6 A A 
3 2017 Unit2 1 1 6305 4 C C 
5 2017 Unit2 2 1 6331 4 C C 
6 2017 Unit2 2 1 6332 4 C C 
7 2017 Unit2 2 1 6333 4 B B 
12 2017 Unit2 4 1 6368 5 D D 
13 2017 Unit2 4 1 6369 3 A A 
14 2017 Unit2 4 1 6370 5 D D 
16 2017 Unit2 5 1 6374 5 A A 
18 2017 Unit2 5 1 6378 4 B B 
19 2017 Unit2 6 1 6404 4 D D 
20 2017 Unit2 6 1 6405 5 C C 
21 2017 Unit2 6 1 6406 6 D D 
23 2017 Unit2 6 1 6408 4 D D 
24 2017 Unit2 7 1 6409 3 A A 
25 2017 Unit2 7 1 6410 na D D 
26 2017 Unit2 7 1 6411 7 A A 
31 2017 Unit2 8 1 6442 8 D D 
32 2017 Unit2 8 1 6443 4 B B 
33 2017 Unit2 9 1 6445 6 B B 
34 2017 Unit2 9 1 6446 6 C C 
36 2017 Unit2 9 1 6450 4 A A 
39 2017 Unit2 10 1 6478 4 A A 
41 2017 Unit2 10 1 6480 4 B B 
42 2017 Unit2 11 1 6482 7 D D 
43 2017 Unit2 11 1 6483 3 A A 
44 2017 Unit2 11 1 6484 9 B B 
45 2017 Unit2 12 1 6512 4 A A 
47 2017 Unit2 12 1 6514 6 C C 
49 2017 Unit2 12 1 6516 6 B B 
51 2017 Unit2 13 1 6518 5 C C 
52 2017 Unit2 13 1 6519 7 B B 
53 2017 Unit2 13 1 6520 7 B B 
54 2017 Unit2 13 1 6521 4 B B 
56 2017 Unit2 14 1 6549 NA D D 
57 2017 Unit2 14 1 6550 6 A A 
59 2017 Unit2 14 1 6552 5 NA SA 
61 2017 Unit2 1 2 6308 4 A A 
178 2017 Unit2 4 1 6371 9 OH88119 NA 
179 2017 Unit2 9 1 6448 9 OH88119 NA 
180 2017 Unit2 4 2 6365 7 OH88119 NA 
181 2017 Unit2 5 2 6381 9 OH88119 NA 
182 2017 Unit2 3 3 6349 5 OH88119 NA 
183 2017 Unit2 4 3 6359 7 OH88119 NA 

谢谢你的时间,我真的很感激。

下面是我的代码:

BC1S3boxplot <- ggplot(BC1S3, aes(R_Source,DISEASERATING)) 
BC1S3plot <- BC1S3boxplot + theme_bw()+ 
geom_boxplot(fill=c("red","green","blue","purple","yellow"))+ 
labs(x=expression(Sample~Source),y=expression(Horsfall-Barrat~Score), 
title=expression(italic(X)~field~BC1S3~vs~X))+ 
scale_x_discrete(limits=c("A","B","C","D","OH88119"))+ 
coord_cartesian(ylim = c(1,8))+ 
theme(axis.text.y=element_text(size=10),axis.text.x=element_text(size = 10), 
axis.title=element_text(size=10),title=element_text(size=10)) 
BC1S3plot 

箱形图在这里

Boxplot

marco's code

+1

尝试'ggplot(na.omit(BC1S3),AES ...' “空的空间” 可能是由你所提到的港定居引起为了提供一个准确的答案。您需要向我们展示您的'BC1S3'数据 –

+0

我附加了一小段数据。我还想补充一点,这个数据是从一个原始数据集中进行子集化的,这个数据集有10个因子(A,HA,B,HB, C,HC ...等)在子集化后仍然显示出我使用str(BC1S3)时的因子,但实际上它们不出现在数据集中 –

+0

@SRivero让我知道如果我仍然不清楚。谢谢! –

回答

0

你的代码工作正常图像。请看下图:

df <- read.table(text=' 
ID YEAR LOC ROW BLOCK PLOT RATING R_Source QTL.SOURCE 
2 2017 Unit2 1 1 6302 6 A A 
3 2017 Unit2 1 1 6305 4 C C 
5 2017 Unit2 2 1 6331 4 C C 
6 2017 Unit2 2 1 6332 4 C C 
7 2017 Unit2 2 1 6333 4 B B 
12 2017 Unit2 4 1 6368 5 D D 
13 2017 Unit2 4 1 6369 3 A A 
14 2017 Unit2 4 1 6370 5 D D 
16 2017 Unit2 5 1 6374 5 A A 
18 2017 Unit2 5 1 6378 4 B B 
19 2017 Unit2 6 1 6404 4 D D 
20 2017 Unit2 6 1 6405 5 C C 
21 2017 Unit2 6 1 6406 6 D D 
23 2017 Unit2 6 1 6408 4 D D 
24 2017 Unit2 7 1 6409 3 A A 
25 2017 Unit2 7 1 6410 NA D D 
26 2017 Unit2 7 1 6411 7 A A 
31 2017 Unit2 8 1 6442 8 D D 
32 2017 Unit2 8 1 6443 4 B B 
33 2017 Unit2 9 1 6445 6 B B 
34 2017 Unit2 9 1 6446 6 C C 
36 2017 Unit2 9 1 6450 4 A A 
39 2017 Unit2 10 1 6478 4 A A 
41 2017 Unit2 10 1 6480 4 B B 
42 2017 Unit2 11 1 6482 7 D D 
43 2017 Unit2 11 1 6483 3 A A 
44 2017 Unit2 11 1 6484 9 B B 
45 2017 Unit2 12 1 6512 4 A A 
47 2017 Unit2 12 1 6514 6 C C 
49 2017 Unit2 12 1 6516 6 B B 
51 2017 Unit2 13 1 6518 5 C C 
52 2017 Unit2 13 1 6519 7 B B 
53 2017 Unit2 13 1 6520 7 B B 
54 2017 Unit2 13 1 6521 4 B B 
56 2017 Unit2 14 1 6549 NA D D 
57 2017 Unit2 14 1 6550 6 A A 
59 2017 Unit2 14 1 6552 5 NA SA 
61 2017 Unit2 1 2 6308 4 A A 
178 2017 Unit2 4 1 6371 9 OH88119 NA 
179 2017 Unit2 9 1 6448 9 OH88119 NA 
180 2017 Unit2 4 2 6365 7 OH88119 NA 
181 2017 Unit2 5 2 6381 9 OH88119 NA 
182 2017 Unit2 3 3 6349 5 OH88119 NA 
183 2017 Unit2 4 3 6359 7 OH88119 NA 
', header=T) 

BC1S3boxplot <- ggplot(df, aes(x=R_Source, y=RATING)) 
BC1S3plot <- BC1S3boxplot + geom_boxplot(aes(fill=R_Source)) + 
labs(x=expression(Sample~Source),y=expression(Horsfall-Barrat~Score), 
title=expression(italic(X)~field~BC1S3~vs~X))+ 
scale_x_discrete(limits=c("A","B","C","D","OH88119"))+ 
coord_cartesian(ylim = c(1,10))+ 
theme(axis.text.y=element_text(size=10),axis.text.x=element_text(size = 10), 
axis.title=element_text(size=10),title=element_text(size=10))+theme_bw() 

enter image description here

+0

这可能是那些未使用的因子水平。在运行代码之前,尝试'df $ R_Source < - droplevels(df $ R_Source)''。 –

+0

@MarcoSandri我复制了你的代码,并替换了我的数据集的DF我没有得到它的工作。我会将图像添加到顶部。 –

+0

@MarcoSandri ok让我重新检查我的代码。在我的第一张图下面,我附上了图片。谢谢你的帮助! –