麻烦用ggplot绘制反射率

时间:2013-12-05 20:02:52

标签: r plot ggplot2

我有一个反射数据的数据框,我已经融化到更容易使用ggplot,这里是数据框的前几行 bronmelt

   variety  wavelength   reflectance
1 magnolia  wavel.400    1.602868
2 carlos    wavel.450    1.778760
3 scupper   wavel.500    1.352016
4 magnolia  wavel.600    5.969302
5 scupper   wavel.900    1.491008

我的问题是,当我打电话给一个简单的情节时:

ggplot(data=bronmelt, aes(x=wavelength, y=reflectance, color = variety)) + geom_point()

绘制数据,我无法将x轴视为连续变量。

如何创建一个400-900的自定义x轴,每20个刻度标记一次?

1 个答案:

答案 0 :(得分:4)

首先使用数字波长值创建一个新列:

bronmelt <- transform(bronmelt, 
                      wavelength2 = as.integer(substr(wavelength, 7, 10)))

情节:

library(ggplot2)
ggplot(data=bronmelt, aes(x=wavelength2, y=reflectance, color = variety)) + 
  geom_point() +
  scale_x_continuous(breaks = seq(400, 900, 20))

最后一行指定轴间距为400到900,步长为20。

enter image description here