Plotly双Y轴图表X轴颜色设置求助:如何改为白色
双Y轴Plotly图表隐藏X轴的可行方案
我想在双Y轴的Plotly图表里把X轴设为白色以隐藏它,但现有代码尝试后没达到预期效果。我的代码如下:
df <- tibble(x = 1:10, y1= seq(2, 6.5, .5), y2 = seq(4, -5, -1)) fig <- plotly::plot_ly() fig <- fig %>% plotly::add_trace(data = df, x = ~x, y = ~y1, type = 'scatter', mode = 'lines', linetype = "solid", name = "y1 axis" ) fig <- fig %>% plotly::add_trace(data = df, x = ~x, y = ~y2, type = 'scatter', mode = 'lines', linetype = "solid", yaxis = "y2", name = "y2 axis" ) x <- list( title = '', zerolinecolor = "#FFFFFF", zerolinewidth = 2, gridcolor = "#FFFFFF") y <- list( title = '', zerolinecolor = '#ffff', zerolinewidth = 2, gridcolor = "#FFFFFF") y2 <- list( overlaying = "y", side = "right") fig <- fig %>% layout(xaxis = x, yaxis = y, yaxis2 = y2) fig
问题原因
当前代码仅设置了X轴的零刻度线和网格线颜色,但X轴的轴线、刻度线、刻度标签等可见元素未做处理,所以无法完全隐藏X轴。
解决方法
方法一:将所有X轴可见元素设为白色
修改x参数列表,补充设置刻度线、刻度文字、轴线的颜色为白色:
x <- list( title = '', zerolinecolor = "#FFFFFF", zerolinewidth = 2, gridcolor = "#FFFFFF", tickcolor = "#FFFFFF", # 刻度线颜色设为白色 tickfont = list(color = "#FFFFFF"), # 刻度文字颜色设为白色 linecolor = "#FFFFFF" # X轴轴线颜色设为白色 )
方法二:直接隐藏整个X轴(更简洁)
如果不需要保留X轴的任何元素,直接设置visible = FALSE即可彻底隐藏:
x <- list( title = '', visible = FALSE )
将上述修改后的x列表替换原代码中的对应部分,重新运行就能得到隐藏X轴的双Y轴图表。
内容的提问来源于stack exchange,提问作者Mario Bastos
相关产品推荐
相关产品推荐

