Название легенды в сюжете

Как указать заголовок легенды в plotly? У меня есть столбчатая диаграмма с накоплением, которая отображает разные длительности, такие как 0-10, 11-20. Я хочу, чтобы в заголовке легенды было написано «Продолжительность».


person Poornima    schedule 26.06.2016    source источник
comment
вы приводите воспроизводимый пример   -  person MLavoie    schedule 26.06.2016
comment
Да, опубликуйте скрипку или кодовую ручку. Это помогает людям поиграть с вашим конкретным вариантом использования.   -  person abalter    schedule 28.06.2016
comment
@MLavoie нравится эта картинка: i1.wp. com/dacrook.com/wp-content/uploads/2016/05/ Название — «Зарядка».   -  person Jossie Calderon    schedule 07.07.2016


Ответы (2)


Самый простой способ указать заголовок легенды — установить его с помощью ggplot и plotly прочитать его из соответствующего объекта:

library( plotly )

gg <- ggplot( mtcars, aes( x=mpg, y=wt, color=factor(vs) ) ) +
  geom_point() + labs( color = "MyTitle" )
ggplotly( gg )

Однако проблема в том, что plotly преобразует заголовок легенды в аннотацию, которая в процессе отсоединяется от легенды. В моем браузере он также перекрывается с меню plotly в правом верхнем углу:

введите описание изображения здесь

Чтобы обойти эту проблему, вы можете вообще удалить заголовок легенды из объекта ggplot и добавить аннотацию вручную:

gg <- ggplot( mtcars, aes( x=mpg, y=wt, color=factor(vs) ) ) +
  geom_point() + theme( legend.title = element_blank() )
ggplotly( gg ) %>%
  add_annotations( text="MyTitle", xref="paper", yref="paper",
                  x=1.02, xanchor="left",
                  y=0.8, yanchor="bottom",    # Same y as legend below
                  legendtitle=TRUE, showarrow=FALSE ) %>%
  layout( legend=list(y=0.8, yanchor="top" ) )

Обратите внимание, что одна и та же координата y используется как для заголовка, так и для легенды, но первая привязывается внизу, а последняя — вверху. Это предотвращает «отключение» заголовка от легенды. Вот как выглядит окончательный результат:

введите описание изображения здесь

person Artem Sokolov    schedule 03.01.2017

Если вы имеете в виду нечто подобное, где легенда называется, а названия подсюжетов настраиваются...

Создайте след. В этой трассировке используйте атрибут annotations, чтобы добавить имя в легенду. Я могу добавлять фрагменты текста на свой график, где захочу, если я укажу значение x, значение y и установлю xref = 'paper' и yref = 'paper'.

Вот руководство о том, как аннотации можно использовать в ваших интересах: Создание индивидуального заголовка по осям X и Y.

Вы можете узнать больше об аннотациях. Они полезны!

person Jossie Calderon    schedule 08.07.2016