如何在ggplot上的点上添加标记?

时间:2019-06-20 20:28:26

标签: r ggplot2

我正在尝试使用ggplot2绘制以下数据帧,并添加了名为Condition的列,该列具有Yes或No值。

ID     Diagnosis Age_at_Diagnosis                  Condition
    0   A-1         Birth                0                No
    1   A-1   Lung cancer               25               Yes
    4   A-1         Death               50                No
    5   A-2         Birth                0                No
    6   A-2  Brain cancer               12                No
    8   A-2   Skin cancer               20                No
    11  A-2   Current age               23                No
    12  A-3         Birth                0                No
    13  A-3  Brain cancer               30                No
    15  A-3   Lung cancer               33               Yes
    17  A-3   Current age               35                No

我已经使用下面的代码成功创建了绘图(忽略是否有几个值,这是我正在处理的原始数据)。

ggplot(new, aes(
    new$Age_at_Diagnosis,
    new$Individual_ID,
    color= new$Diagnosis,
    shape = new$Diagnosis,
    group=new$Individual_ID
  )) + 
  geom_line(linetype="solid", color="black", size=0.25) + 
  geom_point( size=2.5) + 
  scale_color_manual(name="Diagnosis", values = c("red", "black", "dark blue","black", "maroon")) +   
  scale_shape_manual(name = "Diagnosis",values = c(16,8,124,15)) +
  ggtitle("Lung Cancer Diagnosis Only") + 
  xlab("Age at Diagnosis") + 
  ylab("Individual ID") + 
  theme_minimal()

我试图弄清楚如何将条件列值添加到绘图中。如果“条件”列中的“诊断”为“是”,我想在该点(诊断)上添加标记/圆形。

我尝试使用geom_point(data=new[new$Condition=='Yes',],pch=21,fill=NA,size=4),但没有运气,结果显示为“错误:为连续刻度提供离散值”或“错误:美学必须为长度1或与数据相同(11) :x,y,颜色,组”错误。

我应该指出,只有在诊断出肺癌且没有其他癌症的情况下,情况才是。

0 个答案:

没有答案