我有一个如下所示的数据帧,其中我想在X轴上绘制“FREQ”值作为TYPE中每个类的线图,Y轴上的总计数
ID FREQ TYPE
ID1 0.0827068 A
ID2 0.0827068 A
ID3 0.0150376 B
ID4 0.0075188 B
ID5 0.07838 C
ID6 0.0676692 C
我设法使用以下命令绘制直方图:
ggplot(CNV.sort1, aes(x = FREQ,y=..density..,fill=TYPE)) + geom_histogram()
geom_line
但是,我需要一个带有X轴断点的折线图,如下所示,以及Y轴上每个数据点的总事件 .
我尝试使用geom_line()
ggplot(CNV.sort1, aes(x = FREQ,y=..density..,fill=TYPE)) + geom_line()
Error in eval(expr, envir, enclos) : object 'density' not found
我错过了一些得到线图的东西 . 提供的任何线索都会有所帮助!!
1 回答
它可以通过艰难的方式解决:
您可以使用基本功能
hist()
并输入其插槽:直方图可能已经预先确定了xlim等等,所以它们会让你满意 . 然后,您可以使用
str()
查看其插槽并访问它们 .插槽
h$breaks
比您感兴趣的插槽h$counts
和h$density
长,因此您需要手动调整它们 .当您获得正确的向量时,可以使用线方法绘制它们 . 它可能是ggplot或base:
正如我所说,这是一个非常艰难的方式 . 为此设置一个功能会好得多,但如果没有提供更好的答案 - 这可能会有效 . 也可以随意询问您是否需要一步一步的指导 .
编辑:
以下是执行上述操作的代码: