Диапазоны осей по умолчанию отличаются для столбцов и линий в Plotly для R - PullRequest
1 голос
/ 25 мая 2019

У меня проблемы с пониманием диапазона осей по умолчанию для столбцов и линий в графике для R. Кажется, они разные.Чтобы быть точным, диапазон оси Y по умолчанию для баров не основан на экстремумах входных данных, в то время как он основан на линиях.Немного предыстории следует.

Итак, я строю сюжет из разных экономических временных рядов.Как часто бывает с визуализацией экономических данных, мне часто нужны две оси Y, чтобы показать различные переменные, которые могут быть связаны.В настоящее время я делаю линейную диаграмму на первичной оси Y и гистограмму на вторичной оси.Проблема состоит в том, что гистограмма вторичной оси не адекватно представляет данные, поскольку она выбирает очень широкий диапазон для оси по умолчанию.Например, конкретная переменная в сек.ось колеблется от 3500 до 4000, но диапазон отображается от 0 до 4000. Для линейных диаграмм такой проблемы нет.Конечно, я могу изменить эти диапазоны вручную, используя атрибут «диапазон» в функции «макет», но я хочу получить желаемый график без особого ручного ввода.Также полезно, если график сам по себе вычисляет экстремумы, потому что входные данные меняются довольно часто.Вот мой текущий код:

plot_ly(data = filter(dlx_df3, month_date >= "2013-01-01", month_date <= "2014-01-01")) %>% 
  add_lines(x = ~month_date,y = ~walr, name = "walr") %>% 
  add_bars(x = ~ month_date,y =  ~ advances,yaxis = "y2", name  = "adv") %>%
  layout(
    xaxis = list(ticks = "outside"),
    yaxis2 = list(
      side = "right",
      autotick = TRUE,
      ticks = "outside",
      rangemode = "normal"
    ),
    yaxis = list(
      overlaying = "y2",
      autotick = TRUE,
      ticks = "outside"
    ),
    legend = list(x = 1.08, y = 0.7)
  )

This is the plot that is produced from the code above

Вы можете видеть, что бары не показывают много "вариаций".Но это изменится, если я изменю add_bars на add_lines.См. Ниже: Plot after changing the secondary axis trace to line from bars

Как изменить эту модификацию оси для баров?

...