gpt4 book ai didi

r - 水平列出图例项并在图下方居中

转载 作者:行者123 更新时间:2023-12-01 23:25:49 25 4
gpt4 key购买 nike

我一直在调整plotly和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))

但是,我注意到这个图例位置会根据我查看绘图的方式(我制作绘图窗口的尺寸等)而变化。因此,图例有时会意外地与绘图重叠(由于位置太高)或与绘图相距过大的距离(由于位置太低)。以下是图例位置太低的示例图像:

Legend moves depending on plot window dimensions

此外,当将图例放置在图下方时,水平(而不是垂直)列出图例项目可能看起来更好。在此示例中,如果在图例中从左到右(而不是从上到下)列出 virginica、versicolor 和 setosa,那就太好了。因此,理想情况下看起来像这样:

Ideal

是否有可能获得这个 - 即,在水平列出其项目时,图例位于图的中心和下方(不随窗口大小改变位置)?

最佳答案

根据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

它将图例方向设置为“水平”,然后将 anchor (我们指定的位置的点)设置为图例的中心,然后将其定位在 x 轴的中间。结果如下图:

enter image description here

关于r - 水平列出图例项并在图下方居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39668369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com