在 Plotly R 中为条形图添加注释
Adding annotations for the bar chart in Plotly R
我需要给2019年和2020年的图表添加注释。我有问题要到2020年。我想按如下所示进行,但是文本与2019年的文本重叠。
quarter <- c("Q1", "Q2", "Q3")
y_18 <- c(10, 16, 23)
y_19 <- c(12, 20, 29)
y_20 <- c(14, NA, NA)
TD <- data.frame(quarter, y_18, y_19, y_20)
fig <- plot_ly(TD, x = ~quarter, y = ~y_18, type = 'bar', name = '2018')
fig <- fig %>% add_trace(y = ~y_19, name = '2019')
fig <- fig %>% add_trace(y = ~y_20, name = '2020')
fig <- fig %>% layout(yaxis = list(title = 'count'), barmode = 'group')
fig <- fig %>% add_annotations( x = TD$quarter,
y = TD$y_19,
text = c("+2","+4","+6"),
xref = "x",
yref = "y",
showarrow = TRUE)
#my solutions:
fig <- fig %>% add_annotations( x = TD[1,1],
y = TD[1,3],
text = "+2",
xref = "x",
yref = "y",
showarrow = TRUE)
只需一点人工干预,您就可以计算出合适的 y 坐标(见下文)。
我留下了所有 3 个坐标,所以如果你想用 NA 标记那些,只需替换代码中的空白注释和 showarrow FALSE 逻辑:
library(plotly)
quarter <- c("Q1", "Q2", "Q3")
y_18 <- c(10, 16, 23)
y_19 <- c(12, 20, 29)
y_20 <- c(14, NA, NA)
TD <- data.frame(quarter, y_18, y_19, y_20)
fig <- plot_ly(TD, x = ~quarter, y = ~y_18, type = 'bar', name = '2018')
fig <- fig %>% add_trace(y = ~y_19, name = '2019')
fig <- fig %>% add_trace(y = ~y_20, name = '2020')
fig <- fig %>% layout(yaxis = list(title = 'count'), barmode = 'group')
fig <- fig %>% add_annotations( x = TD$quarter,
y = TD$y_19,
text = c("+2","+4","+6"),
xref = "x",
yref = "y",
showarrow = TRUE)
fig %>% add_annotations( x = c(.25, 1.25, 2.25),
y = TD$y_20,
text = c("+2","",""),
xref = "x",
yref = "y",
showarrow = c(TRUE, FALSE, FALSE))
我需要给2019年和2020年的图表添加注释。我有问题要到2020年。我想按如下所示进行,但是文本与2019年的文本重叠。
quarter <- c("Q1", "Q2", "Q3")
y_18 <- c(10, 16, 23)
y_19 <- c(12, 20, 29)
y_20 <- c(14, NA, NA)
TD <- data.frame(quarter, y_18, y_19, y_20)
fig <- plot_ly(TD, x = ~quarter, y = ~y_18, type = 'bar', name = '2018')
fig <- fig %>% add_trace(y = ~y_19, name = '2019')
fig <- fig %>% add_trace(y = ~y_20, name = '2020')
fig <- fig %>% layout(yaxis = list(title = 'count'), barmode = 'group')
fig <- fig %>% add_annotations( x = TD$quarter,
y = TD$y_19,
text = c("+2","+4","+6"),
xref = "x",
yref = "y",
showarrow = TRUE)
#my solutions:
fig <- fig %>% add_annotations( x = TD[1,1],
y = TD[1,3],
text = "+2",
xref = "x",
yref = "y",
showarrow = TRUE)
只需一点人工干预,您就可以计算出合适的 y 坐标(见下文)。 我留下了所有 3 个坐标,所以如果你想用 NA 标记那些,只需替换代码中的空白注释和 showarrow FALSE 逻辑:
library(plotly)
quarter <- c("Q1", "Q2", "Q3")
y_18 <- c(10, 16, 23)
y_19 <- c(12, 20, 29)
y_20 <- c(14, NA, NA)
TD <- data.frame(quarter, y_18, y_19, y_20)
fig <- plot_ly(TD, x = ~quarter, y = ~y_18, type = 'bar', name = '2018')
fig <- fig %>% add_trace(y = ~y_19, name = '2019')
fig <- fig %>% add_trace(y = ~y_20, name = '2020')
fig <- fig %>% layout(yaxis = list(title = 'count'), barmode = 'group')
fig <- fig %>% add_annotations( x = TD$quarter,
y = TD$y_19,
text = c("+2","+4","+6"),
xref = "x",
yref = "y",
showarrow = TRUE)
fig %>% add_annotations( x = c(.25, 1.25, 2.25),
y = TD$y_20,
text = c("+2","",""),
xref = "x",
yref = "y",
showarrow = c(TRUE, FALSE, FALSE))