【发布时间】:2018-11-04 23:43:27
【问题描述】:
我想根据基因的表达值绘制基因簇。我的矩阵在融化(使用reshape)原始数据框后是这样的:
time gene value
A1.01 TMCS09g1008676 0.423176672
A1.02 TMCS09g1008676 0.911415197
A1.03 TMCS09g1008676 1.042786687
A1.04 TMCS09g1008676 0.859630996
A1.05 TMCS09g1008676 0.624891793
A1.01 TMCS09g1008677 0.304568066
A1.02 TMCS09g1008677 1.134582618
A1.03 TMCS09g1008677 1.626528999
A1.04 TMCS09g1008677 1.778379422
A1.05 TMCS09g1008677 1.922418792
A1.01 TMCS09g1008678 0.312127815
A1.02 TMCS09g1008678 0.567599868
A1.03 TMCS09g1008678 1.37594692
A1.04 TMCS09g1008678 1.655878776
A1.05 TMCS09g1008678 1.720470659
我想要做的是在 x 轴上绘制时间(5 个时间点),在 y 轴上绘制值(表达式值),因此有 3 条线并添加一条更平滑的线。
我尝试使用this 帖子中写的内容,但出现此错误Error: Discrete value supplied to continuous scale
我打电话给ggplot如下:
ggplot(mydata, aes(as.factor(time), value)) +
geom_hline(yintercept = 0, linetype = 2, color = "red") +
# Line for each gene
geom_line(aes(group = gene), size = 0.5, alpha = 0.3, color = "blue") +
# Trend line
geom_smooth(size = 2, se = FALSE, color = "orange") +
scale_x_continuous(breaks = factor(prova$time)) +
theme_classic()
【问题讨论】:
-
您的错误来自
scale_x_continuous,请改用scale_x_discrete -
谢谢!虽然它仍然没有增加任何平滑度