问题:下面的代码生成一个plotly图,该图根据颜色对数据进行分组并在相应的y数据点上注释文本。与图进行交互时(在查看器窗格中),例如只有型号a4
(单击该行)不能正常工作,因为所有其他型号的行都消失了,但是相应的数字却无效。任何想法如何解决此问题?
library(plotly)
library(data.table)
dt <- as.data.table(mpg)
plot_ly(dt[model %in% c("a4", "passat")],
x = ~year,
y = ~displ,
color = ~model,
colors = "Set1") %>%
add_lines() %>%
add_text(y = ~displ,
text = ~displ,
textposition = "top right",
showlegend = FALSE) %>%
layout(xaxis = list(title = ""),
yaxis = list(title = "Anzahl"))
[您可以在下面找到描述我的问题的图形。一旦在绘图图中仅选择a4,帕萨特线就会消失,但是与此线相关的数字仍然保留。
目标:如何修改代码,以使不仅a4 / passat的行消失,而且相关的数字消失?
感谢您的建议/意见。
add_text
语句的showlegend
选项为FALSE
,它有效地隐藏了可能显示/隐藏文本/数字的第二个图例。
一种策略可能是使用legendgroup
将两个图例组合在一起以形成行和文本,同时仍隐藏文本图例。在这种情况下,应将该组分配给model
。
library(plotly)
library(data.table)
dt <- as.data.table(mpg)
plot_ly(dt[model %in% c("a4", "passat")],
x = ~year,
y = ~displ,
color = ~model,
colors = "Set1") %>%
add_lines(legendgroup = ~model) %>%
add_text(y = ~displ,
text = ~displ,
textposition = "top right",
showlegend = FALSE,
legendgroup = ~model) %>%
layout(xaxis = list(title = ""),
yaxis = list(title = "Anzahl"))
图