【发布时间】:2021-10-29 06:18:36
【问题描述】:
尝试使用 ggplot2 在一张图上绘制多条曲线。 x 轴表示波长,y 轴表示强度。
数据表(称为“集合”)如下所示(col2 指第 2 列等),波长从 3600 到 8000 波数。 col1, 2, 3 中的每一个都有不同的值,导致不同的曲线。这些列提供强度值。
波长 col1 col2 col3
melted 语法可以在下面找到。
df<-data.table(Set)
melted <- melt(df, id.vars = NULL, measure.vars=colnames(df),
variable.name = "wavelength", value.name = "value")
wavelength value
1:波长 3600.809
2:波长 3601.637
等
绘制,
ggplot(
plot_input[wavelength %in% c("col1", "col2", "col3”)],
aes(y=value, x=wavelength)) +
geom_line() +
theme_classic()
问题——
2 ggplot 输出 [per image] 产生三条垂直线,我试图为 col1、col2、col3 中的每一个绘制三条不同的曲线
2ggplot – 在 x 轴上寻找波数,而不是 col_num
我可能遗漏了一些非常简单的东西。有人可以解释我做错了什么吗?
谢谢。
[添加了附加图像,质量差的 apols]。显示了 5 个光谱,以颜色显示。数据包含在列中 - y 值]
【问题讨论】:
-
您可以添加
dput(head(Set,100))命令的输出,让我们讨论您的数据吗? -
> dput((head(Set, 100))) 结构(list(X1 = "col1", X2 = "col2", X3 = "col3"), row.names = 1L, class= "data.frame")
-
我如你所愿更新了我的答案。