0

我有一个数据框df,其两列中有以下值:

Year Temperature
1750 8.719364
1751 7.976143
1752 5.779833
1753 8.388083
1754 8.469333
1755 8.355583
1756 8.849583
1757 9.022000
1758 6.743583
1759 7.985083
1760 7.185167

以此类推,持续了大约 200 年,并具有相应的温度。

我正在尝试使用 plotly 绘制时间序列图。

library(plotly)
g <- plot_ly(x=~df$Year, y=~df$Temperature, add_trace("scatter"), mode='lines')

它给了我

错误:$ 运算符对原子向量无效。

因此,我尝试将列分配到单独的向量中,如下所示,以避免使用$

x <- avg.temp$Year
y <- avg.temp$Avg.Temp
g <- plot_ly(x=~x, y=~y, add_trace("scatter"), mode='lines')

但我仍然得到同样的错误。

我是 R 新手。我只是想用年份和温度数据创建一个简单的时间序列图。但我无法弄清楚我的代码到底出了什么问题。有人可以帮我解决这个错误吗?

另外,什么是add_trace("scatter")参数?它有什么作用?我使用它是因为我之前在相同数据上创建了一个图表,但它不是一条线。它太厚了,它给了我一个警告,告诉我scatter在这里有痕迹是合适的(或类似的东西..)

如果有人可以帮助我,那就太棒了。非常感谢,伙计们。

4

1 回答 1

0

此代码创建您的图表没有错误:

g <- plot_ly(df, x = ~Year) %>%
  add_trace(type="scatter", y=~Temperature, name="Trace Temperature", mode="lines")

您在调用add_trace后调用plotly以避免错误。

另一种更接近您当前所拥有的编写方式是:

g <- plot_ly(x=~df$Year, y=~df$Temperature, mode="lines")
add_trace(g, type="scatter")

不幸的是,我无法解释什么是痕迹。希望无论如何都有帮助!

于 2018-02-04T18:54:15.547 回答