Я следую примеру здесь для создания маркеров в R, последняя часть, на которой я застрял, пытается добавить метки данных к каждому из моих элементов данных.
Я думалэто было бы просто, используя text = '', но метки не отображаются, и код выполняется без ошибок.
Я хотел бы добавить метку и внутренний конец внутренней и внешней гистограмм.
Я полагаю, что это может быть связано с использованием attach & detatch, но я не совсемконечно.Любая помощь очень ценится.
ОБНОВЛЕНИЕ: Добавление образцов данных для справки:
library(plotly)
library(dplyr)
library(readxl)
# Read data
zz <- "name distance office
name1 3200 3900
name2 3000 6900
name3 1700 5900
name4 1500 3500
name5 1200 2700
name6 1000 3700
name7 1000 1600
name8 1000 4100
name9 1000 6800
name10 800 2000
name11 700 2800
name12 700 6900
name13 700 2100
name14 500 5400
name15 400 1300
name16 400 0"
df<- read.table(text=zz, header = TRUE)
attach(df)
df<-df[order(-Distance),]
detach(df)
# df <- as.data.frame(df, stringsAsFactors = F)
p <- list()
# Set line widths
innerwidth <- 10
outerwidth <- 25
for(i in 1:nrow(df)){
attach(df[i,])
p[[i]] <-
plot_ly() %>%
add_segments(x = 0,
xend = as.numeric(Office),
y = Name,
yend = Name,
name = "Office",
mode = 'text',
text = rownames(Office),
hoverinfo = "x",
line = list(color = "#eeeeee", width = outerwidth)) %>%
add_segments(x = 0,
xend = as.numeric(Distance),
y = Name,
yend = Name,
name = "Distance",
mode = 'markers+text',
text = ~Distance,
textposition = 'auto',
hoverinfo = "x",
line = list(color = "#b0c4de", width = innerwidth)) %>%
layout(showlegend = F,
xaxis = list(Name = "", showgrid = F,
range = c(0, 7000),
showticklabels = FALSE,
showline = FALSE,
ticklen = 0,
tickfont = list(family = "Arial", size = 10),
tickcolor = "#cccccc"))
detach(df[i,])
}
pp <- subplot(p[[1]], p[[2]], p[[3]], p[[4]],
p[[5]], p[[6]], p[[7]], p[[8]],
p[[9]], p[[10]],p[[11]],p[[12]],
p[[13]], p[[14]], p[[15]],
p[[16]],
nrows = 17,
margin = c(0, 0, 0,0))
pp