首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态地向直线图的峰值添加注释?

如何动态地向直线图的峰值添加注释?
EN

Stack Overflow用户
提问于 2019-04-05 18:50:19
回答 1查看 1.1K关注 0票数 2

我正在尝试复制此页中显示的代码,特别是名为“混合数据操作和可视化谓词”的代码。

实际上,我只是复制粘贴了代码,并做了一些小的修改才能让它运行(plot_ly现在需要用"~“引用列名,等等)。然而,我的图表看起来非常不同:

我所拥有的

我研究了plot_ly中的注释,但似乎需要对其进行硬编码,而不是像作者那样自动使用filter。(除非我是误会。)这就是我要用的:

代码语言:javascript
复制
p4 <- plot_ly(economics, x = economics$date, y = economics$uempmed)

p4 %>%
  add_trace(y = fitted(loess(economics$uempmed ~ as.numeric(economics$date)))) %>%
  add_lines(x = economics$date, y = economics$uempmed) %>%
  layout(title = "Median duration of unemployment (in weeks)",
         showlegend = FALSE) %>%
  dplyr::filter(economics$uempmed == max(economics$uempmed)) %>%
  layout(annotations = list(x = economics$date, y = economics$uempmed, text = "Peak", showarrow = T))

我本以为它在网站上会看起来像(下面),但似乎注释文本只是被垃圾处理,而不是仅仅停留在最大的位置:

它应该是什么样子

有人能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-05 19:04:34

为什么不先计算峰值,然后再把它放在链子里呢?

代码语言:javascript
复制
peak <- dplyr::filter(economics, uempmed == max(uempmed))
p4 %>%
  add_trace(y = fitted(loess(economics$uempmed ~ as.numeric(economics$date)))) %>%
  add_lines(x = economics$date, y = economics$uempmed) %>%
  layout(title = "Median duration of unemployment (in weeks)",
         showlegend = FALSE) %>%
  layout(annotations = list(x = peak$date, y = peak$uempmed, text = "Peak", showarrow = T))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55541709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档