我一直在用情节和R调整传说。我无法弄清楚的一件事是如何(如果可能的话)重新定位图例项目,使它们水平列出并居中于图表下方。默认图例项垂直放置并位于图的右侧,如下所示:
plot_ly(data = iris, x = Sepal.Length, y = Petal.Length, mode = "markers", color = Species)
我可以通过以下内容得到下面的图例并以图为中心:
plot_ly(data = iris, x = Sepal.Length, y = Petal.Length, mode = "markers", color = Species) %>% layout(legend = list(x = 0.35, y = -0.5))
但是,我注意到这个图例位置会根据我查看绘图的方式(我绘制绘图窗口的尺寸等)而改变。因此,图例有时会意外地重叠绘图(通过定位得太高)或者与绘图分开一个笨拙的大距离(通过定位得太低)。以下是图例定位太低的示例图像:
此外,将图例放在图表下方时,将图例项目水平(而不是垂直)列出可能看起来更好。在这个例子中,将virginica,versicolor和setosa在图例中从左到右列出(而不是从上到下)会很棒。因此,理想情况下看起来像这样:
是否有可能获得这一点 - 也就是说,一个图例位于图的中心和下方(不会改变窗口大小的位置),同时水平列出其项目?
答案 0 :(得分:12)
根据documentation,以下应该可以解决问题:
data(iris)
plot_ly(data = iris,
x = ~Sepal.Length,
y = ~Petal.Length,
mode = "markers",
color = ~Species) %>%
layout(legend = list(orientation = "h", # show entries horizontally
xanchor = "center", # use center of legend as anchor
x = 0.5)) # put legend in center of x-axis
它将图例方向设置为“水平”,然后将锚点(指定我们指定的位置)设置为图例的中心,然后将其定位在x轴的中间。结果如下图所示: