如何显示线性图的数据标签

时间:2019-07-14 20:01:46

标签: r r-plotly

我试图使用plotly绘制数据,并试图找出多年来如何向图形添加标签。如果将鼠标悬停在该行上,则可以看到该值,但无法找出如何使它可见而不是将其悬停。下面是当我将鼠标悬停在该行上时看到的数据点,如果不将鼠标悬停在该数据点上将无法看到数据值。我有什么办法可以使107.1753k保持不可见?

enter image description here

我尝试按照此处的建议添加标签,但是数据点仍然不可见。 Plot data labels in a line chart

下面是我正在使用的代码,如果您看到的话,我已经添加了标签。

library(plotly)


plot_ly(x = prodn$Year) %>%
  add_lines(y = prodn$TotalProduction , color = I("blue"), name = "Prod",label = prodn$TotalProduction) %>%
  add_lines(y = prodn$TotalImport, color = I("green"), name = "Import",label = prodn$TotalImport)

根据推荐的样本数据:

Year    TotalProduction TotalExport TotalImport
2001    112768.8806    4866.6038    1978.7299
2002    109428.3061    3960.1241    1687.5429
2003    107175.2573    4301.3508    2504.397
2004    111209.887     4799.7895    2728.0004
2005    113149.8099    4994.2211    3046.0349
2006    116274.9659    4964.7269    3624.5976
2007    114663.5345    5916.3103    3634.6847
2008    117180.8669    8151.9115    3420.7679
2009    107492.3392    5909.6951    2263.8515
2010    108436.8148    8171.5675    1935.2687

谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为您需要使用add_text明确添加一层文本。改编(简化)https://plot.ly/r/text-and-annotations/#styling-text中的示例之一

library(plotly)
data <- mtcars[which(mtcars$am == 1 & mtcars$gear == 4),]
p <- plot_ly(data, x = ~wt, y = ~mpg) %>%
  add_markers()
p

plotly without text annotations

我们可以在每个点添加一层所有“值”,尽管值不必是进入点(或线)本身的x或y,如下所示:

p %>% add_text(text = ~disp, textposition = "top right")

plotly adding all labels

您可以覆盖该图层中使用的数据:

p %>% add_text(text = ~disp, textposition = "top right", data = data[1:3,])

plotly adding subset of labels

(顺便说一句:您可以添加%>% layout(showlegend = FALSE)来隐藏图例...为了使说明性代码微不足道,我将其保留了下来。)