R - plotly错误对象...未找到

8

我尝试使用鸢尾花数据集运行一个示例代码,但出现了 “object '...' not found” 错误。是否需要在我的环境中进行特定检查?

library(plotly)
p <- plot_ly(iris, x = Petal.Length, y = Petal.Width,color = Species, mode = "markers")

在plot_ly(鸢尾花数据,x = 花瓣长度,y = 花瓣宽度,颜色= 物种)中出现错误:未找到'Petal.Length'对象。


你需要在名称周围加上引号。 - Sotos
尝试使用引号,即p <- plot_ly(iris, x='Petal.Length', y='Petal.Width',color='Species', mode = "markers")。现在没有错误消息,但视觉输出不同...下面是警告消息...未指定跟踪类型: 根据提供的信息,'histogram2d'跟踪似乎是合适的。 了解有关此跟踪类型的更多信息-> https://plot.ly/r/reference/#histogram2d 警告消息: 1:在RColorBrewer :: brewer.pal(N,“Set2”)中: n的最小值为3,返回具有3个不同级别的请求调色板 2:'histogram2d'对象没有这些属性:'mode' 有效属性..... - SPS
1
从plot.ly社区得到了最新的更新,Plotly的最新版本包含许多更新和更多信息,请参见[链接](http://moderndata.plot.ly/upgrading-to-plotly-4-0-and-above/)。 - SPS
确实,从3.6.0升级到4.5.2的更新包中包含了几个语法变更,包括你上面提到的那个。现在似乎我们必须以不同的方式引用变量。 - Sorlac
1个回答

11

这恰好是被称为plotly报告问题。 要修复您的示例,您应该在数据框列名中添加波浪号“~”:

library(plotly)
p <- plot_ly(iris, x = ~Petal.Length, y = ~Petal.Width,color = ~Species, mode = "markers")
p

这应该会给你:
内置的鸢尾花数据集的 plot_ly 图表

引用自最新版本的 plotly 4.0 文档:

现在,当引用变量时,plot_ly() 现在需要一个公式(基本上是一个表达式,但前面带有 ~)。 您不必使用公式来引用命名空间中存在的对象,但我建议这样做,因为它有助于填充合理的轴/指南标题默认值(例如,将 plot_ly(z = volcano) 的输出与 plot_ly(z = ~volcano) 的输出进行比较)。


1
这个问题解决了吗?我有一个大约两年的闪亮应用程序。我需要手动将 ~ 添加到所有列名中吗? - Adam_G
2
@Adam_G,是的,您需要手动添加波浪号。Github问题链接中有一个回复,它指向了Plotly文档:https://moderndata.plot.ly/upgrading-to-plotly-4-0-and-above/ ,在那里我们可以看到:现在,plot_ly()在引用变量时需要一个公式(它基本上是一个表达式,但要加上~前缀)。您不必使用公式来引用命名空间中存在的对象,但我建议这样做,因为它有助于填充合理的轴/指南标题默认值(例如,将plot_ly(z = volcano)的输出与plot_ly(z = ~volcano)进行比较)(引用结束) - Dmitry Shevkoplyas
我知道这很老了,但是我的plot_ly饼图昨晚突然出现了同样的错误,但我已经使用了波浪号。是否需要其他语法?这个图表最近还可以工作,但现在似乎无法识别我的values=~variable - NoobR
@NoobR,很抱歉目前没有人回答你的问题,在这个旧帖子的评论区也没有太多人能看到。建议你将完整的示例代码发布到类似 https://pastebin.com/ 的网站上,以便让其他人查看整个无法工作的示例,并提出新的问题。这样解决问题的机会会更高!祝你好运! - Dmitry Shevkoplyas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接