【发布时间】:2017-06-15 21:13:48
【问题描述】:
我有一个包含 1000 行的数据框,格式为
group = c("gr1","gr1","gr1","gr1","gr1","gr1","gr1","gr1","gr1","gr1","gr2","gr2","gr2","gr2","gr2","gr2","gr2","gr2","gr2","gr2","gr3","gr3","gr3","gr3","gr3","gr3","gr3","gr3","gr3","gr3")
pos = c(1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10)
color = c(2,2,2,2,3,3,2,2,3,2,1,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,1,1,2,2)
df = data.frame(group, pos, color)
并且想制作一种热图,其中一个轴具有连续的比例(位置)。颜色列是分类的。但是由于我想使用分箱的大量数据点,即将它用作连续变量。
我想不出使用 ggplot2/R 创建这样一个情节的方法。我尝试了几种几何形状,例如geom_point()
ggplot(data=df, aes(x=strain, y=pos, color=color)) +
geom_point() +
scale_colour_gradientn(colors=c("yellow", "black", "orange"))
提前感谢您的帮助。
【问题讨论】:
-
您的图片看起来更像是堆叠的条形图,而不是热图。不管怎样,你试过什么?
-
我知道,但我无法使用 geom_bar()。
-
不会像
ggplot(df)+geom_tile(aes(x=group,y=pos,fill=as.factor(color)))这样的工作吗? -
你也可以试试:
ggplot(data=df, aes(x=group, y=pos, fill=factor(color))) + geom_bar(stat="identity")