如何在plotly
中为图例指定标题?我有一个堆积条形图,绘制不同的持续时间,如0-10,11-20。我希望传奇标题能说'持续时间'。
答案 0 :(得分:5)
指定图例标题的最简单方法是通过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
坐标,但前者锚定在底部,而后者锚定在顶部。这样可以防止标题与图例“断开连接”。以下是最终结果:
答案 1 :(得分:1)
如果您指的是the legend is titled, and the subplot's titles are customized ...
这样的内容创建跟踪。在该跟踪中,使用annotations
属性为图例添加名称。如果我指定x
值,y
值,并设置xref = 'paper'
和yref = 'paper'
,我可以随时随地向我的图表添加文字。
以下是有关如何将注释用于您的利益的教程:Constructing a customized x- and y- axis title。
您可以阅读有关annotations的更多信息。它们很有用!