R语言Plotly中legendrank不生效:是Bug还是用户使用错误?
R语言Plotly(4.10.1版本)图例显示顺序不符合预期问题
我在使用R语言Plotly 4.10.1版本时,遇到了图例显示顺序不符合预期的问题。我已在GitHub提交正式issue,但也认可可能是我存在理解偏差或「用户使用错误」。如果有人能在此证明是用户错误,我会删除该Bug报告。
以下是可复现代码:
library(tidyverse) library(plotly) (tot_df <- structure(list( rank = structure(c( 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L ), levels = c( "1", "2", "3", "4" ), class = "factor"), value = c( 1, 0.316227766016838, 2, 0.447213595499958, 3, 0.547722557505166, 4, 0.632455532033676, 5, 0.707106781186548, 3, 0.547722557505166, 2, 0.447213595499958, 1, 0.316227766016838 ), name = c( "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2", "stat1", "stat_2" ), `Display name` = structure(c( 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L ), levels = c( "Reference", "Current" ), class = "factor"), series_name_text = structure(c( 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L ), levels = c( "Reference stat1", "Reference stat_2", "Current stat1", "Current stat_2" ), class = "factor"), my_legend_rank = c( 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L ) ), row.names = c(NA, -16L), class = c( "tbl_df", "tbl", "data.frame" )) ) px <- plot_ly( data = tot_df, width = 800, height = 600, x = ~rank, y = ~value, name = ~series_name_text, legendrank = ~my_legend_rank, color = ~`Display name`, colors = c("green", "blue"), textposition = "none", type = "bar", opacity = .5, yaxis = "y" ) |> layout(legend = list( orientation = "h", xanchor = "center", yanchor = "bottom", y = -0.3, x = 0.5 )) # table(tot_df$series_name_text,tot_df$my_legend_rank # 1 2 3 4 # Reference stat1 4 0 0 0 # Reference stat_2 0 4 0 0 # Current stat1 0 0 4 0 # Current stat_2 0 0 0 4
从视觉上可以看到,legendrank设置并未生效:
内容的提问来源于stack exchange,提问作者Nir Graham
相关产品推荐
相关产品推荐

