2016-09-23 2 views
2

나는 음모와 R에서 전설을 조정했습니다. 내가 이해할 수없는 한 가지는 전설 항목을 재배치하여 (예 : 플롯 아래에 수평으로 나열됩니다. 나는 아래의 범례를 얻을 수 있어요plotly in 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에 따르면

답변

8

은 트릭해야 다음

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 축의 중앙에 위치시킵니다. 다음 그래프의 결과는 다음과 같습니다.

enter image description here