我有这样的数据(R数据):
Treatment Diameter(inches).Sep Diameter(inches).Dec
Aux_Drop NA NA
Aux_Spray 3.7 2
DMSO NA NA
Water 4.2 2
Aux_Drop 2.6 3
Aux_Spray 3.7 3
DMSO 4 2
Water 5.2 1
Aux_Drop 5.4 2
Aux_Spray 3.4 2
DMSO 4.8 2
Water 4.2 2
Aux_Drop 4.7 2
Aux_Spray 2.7 2
DMSO 3.4 2
Water 4.9 2
.......
.......我想为每个diameter组绘制一个treatment的散点图(或x,y)。到目前为止,我发现lattice库绘图更有帮助,而我使用的:
require(lattice)
xyplot(`Diameter(inches).Sep` ~ Treatment , merged.Sep.Dec.Mar, pch= 20)生成绘图的:

然而,,我想在每个不同颜色的治疗方法中,在“九月直径”旁边加上“12月直径”的散点图。我无法找到一个可行的例子,到目前为止,我还不能用它来实现我的目的。
方法,使用lattice、ggplot2或base plot或任何其他方法都是非常有用的。
谢谢,
发布于 2018-09-12 23:14:31
像这样吗?
library(tidyverse)
df %>%
gather(Month, Diameter, -Treatment) %>%
ggplot(aes(Treatment, Diameter)) +
geom_point(aes(colour = Month), position = position_dodge(width = 0.9))

您可以通过更改width内部的position_dodge来调整不同颜色点之间的分离量。
样本数据
df <- read.table(text =
"Treatment Diameter(inches).Sep Diameter(inches).Dec
Aux_Drop NA NA
Aux_Spray 3.7 2
DMSO NA NA
Water 4.2 2
Aux_Drop 2.6 3
Aux_Spray 3.7 3
DMSO 4 2
Water 5.2 1
Aux_Drop 5.4 2
Aux_Spray 3.4 2
DMSO 4.8 2
Water 4.2 2
Aux_Drop 4.7 2
Aux_Spray 2.7 2
DMSO 3.4 2
Water 4.9 2", header = T)发布于 2018-09-12 23:14:40
这里有一个tidyverse解决方案。它使用tidyr::gather将两种直径类型放在一列中。然后,可以对该列中的值进行分面。我隐藏的颜色图例,因为类别是明显的轴标签。
假设数据框架名为mydata。
library(tidyverse)
mydata %>%
gather(Result, Value, -Treatment) %>%
ggplot(aes(Result, Value)) +
geom_jitter(aes(color = Result),
width = 0.1) +
facet_wrap(~Treatment) +
guides(color = FALSE)

https://stackoverflow.com/questions/52304525
复制相似问题