Функция Plotly, использующая больше точек данных, чем ожидалось - PullRequest
0 голосов
/ 02 октября 2019

У меня есть рабочий процесс, чтобы уменьшить количество точек данных в пределах кадра данных, но когда я выбираю новый список, который должен быть уменьшен, он также перетаскивает прежние точки.

Я начну с фрейма данных, который включает названия инвестиционных фондов, а затем значения для каждого фонда. Этот фрейм данных сначала необходимо сократить до тех позиций, которые имеют положительные / отрицательные значения.

for(i in 1:nrow(as.data.frame(y_Axis2_Indexed_1))){
  if(as.numeric(as.character(y_Axis2_Indexed_1$X4[i])) < 0){
    neg_list2 <- rbind(neg_list2, y_Axis2_Indexed_1[i,])
  }
}

Итак, теперь с neg_list2 я пытаюсь отфильтровать только те средства, которые находятся в списке:

for(i in 1:nrow(as.data.frame(neg_list2))){
  if(neg_list2$X1[i] %in% Fundlist){
    neg_list3 <- rbind(neg_list3, neg_list2[i,])
  }
}

Когда я вызываю neg_list3 $ X1 (названия фондов), он выполняет тольковозвращает ожидаемые значения (то есть строки, которые были бы получены через цикл «Fundlist». Однако, когда я запускаю следующее, я получаю маркировку оси x, которая содержит гораздо больше, как первоначальная предварительная фильтрация группировки. (Строки FYI перед объектом p7все, что связано с форматированием, я просто подумал, что я бы включил)

x_neg_list <- neg_list3$X1

y_neg_list1 <- abs(as.numeric(as.character(neg_list3$X4)
y_neg_list2 <- neg_list3$X4


yaxis_format <- list(
  title = 'Fund Flows',
  tickvals = list(500000,1000000,1500000,2000000,2500000,3000000,3500000,4000000,4500000,5000000),
  tickmode = "array",
  automargin = FALSE,
  titlefont = list(size=30),
  showgrid = T
)

xaxis_format <- list(
  title = '',
  tickmode = "array",
  automargin = FALSE,
  titlefont = list(size=30),
  showgrid = T
)

m <- list(
  l = 50,
  r = 50,
  b = 350,
  t = 25,
  pad = 4
)

p7 <- plotly::plot_ly() %>%
  add_bars(
    x = x_neg_list,
    y = y_neg_list1,
    base = 0,
    marker = list(
      color = 'blue'
    ),
    name = 'Inflow'
  )  %>%
  layout(autosize = F, yaxis = yaxis_format, title = "Fund Flows",
         xaxis = xaxis_format,
         margin = m)

plotly_IMAGE(p7, format = "png", out_file = "output21.png")

Проблема в том, что ось X возвращает намного больше, чем более короткая фильтруемая часть фрейма данных. Когда вы запускаете этот столбец из окончательной формыфрейм данных выглядит так, как будто я хотел бы видеть его, но когда я включаю его в графическую функцию p7, он возвращает их все. Значения значений по-прежнему включены в список, хотя это показывает, что это не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...