修复情节图例顺序

问题描述 投票:0回答:1

我有一个带有因素“颜色”的堆积条形图,并且情节本身是完美的,但图例是相反的,最后一个因素在顶部,第一个因素在底部。 这可能是一个愚蠢的问题,但如何在不改变情节本身的情况下获得正确的图例顺序?

下面是一个例子:

ds <- data.frame(X = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4),
                 Y = c(50, 10, 100, 500,
                       60, 20, 200, 600,
                       70, 30, 300, 700,
                       70, 40, 400, 700),
                 Z = c("Sugar", "Spice", "Everything nice", "Chemical X")) %>% 
    mutate(Z = factor(Z, c("Sugar", "Spice", "Everything nice", "Chemical X")))

plt <- plot_ly(ds)  %>% 
    add_trace(
        x = ~X, y = ~Y,
        color = ~Z,
        type = 'bar',
        hoverinfo = 'text',
        textposition = 'none') %>% 
    layout(bargap = 0.1, barmode = 'stack',
           legend = list(orientation = 'v',
                         yanchor = "center",
                         y = 0.5,
                         font = list(size = 17)))
plt

附注我相信这与堆叠酒吧模式有关。如果您将其删除,图例的方向就会正确。问题是,我需要一个堆积条形图,并且需要按以下顺序(c(“糖”,“香料”,“一切都很好”,“化学X”)),从下到上,图例从上到下.

r plotly
1个回答
0
投票

刚找到的。需要在图例列表内设置traceorder 参数。谢谢@maja zaloznik

layout(bargap = 0.1, barmode = 'stack',
      legend = list(orientation = 'v',
                    yanchor = "center",
                    traceorder = "normal", y = 0.5,
                    font = list(size = 17)))
© www.soinside.com 2019 - 2024. All rights reserved.