在Plotly中添加轨迹不会绘制正确的颜色

问题描述

我正在尝试绘制等高线图,并在其上方绘制一条线(我可以这样做)。然后,我使用add_trace覆盖了其他两行。由于某些原因,即使我指定了灰色,我使用add_trace添加的两行也会显示为橙色而不是灰色(line = list(color ='grey',)

我不知道如何添加数据,这非常大。颜色为什么变为橙色有明显的原因吗?如果更改宽度或破折号,则可以使用。只是不想使用灰色!

谢谢

 (plot <- plot_ly(df,x = ~A,y = ~B,z = ~Difference,zauto = FALSE,zmin = -250,zmax = 250,type="contour",colorbar = list(title = "",titleside='right',tickvals=c(-250,-200,-150,-100,-50,50,100,150,200,250),len = 1),colorscale = "RdBu",contours = list(start = 0,end = 0,coloring='heatmap',coloring='lines'),line = list(color = 'black',width = 2)) %>%
   add_trace(z = df$C,showscale = FALSE,line = list(color = 'grey',width = 2,dash = 'dash'),coloring='lines')) %>%
   add_trace(z = df$C,dash = 'solid'),coloring='lines')) %>%
   layout(margin = list(l = 50,r = 70,b = 50,t = 50,pad = 4),title = "",xaxis = x,yaxis = list(title = ""),font=t))

解决方法

我想您上面的代码中的问题是,您没有指定跟踪类型。因此,plot_ly假设您要再添加两条轮廓线。这些痕迹继承了您定义的色标。

为避免这种情况,您需要指定type = "scatter",mode = "lines",inherit = FALSE

我基于this做了一个简单的例子。

library(plotly)

fig <- plot_ly(
  x = c(-9,-6,-5,-3,-1),y = c(0,1,4,5,7),z = matrix(c(10,10.625,12.5,15.625,20,5.625,6.25,8.125,11.25,2.5,3.125,0.625,1.25,10),nrow = 5,ncol = 5),type = "contour",colorbar = list(title = "",titleside='right'),colorscale = "RdBu",line = list(color = 'black',width = 2)) %>% 
  add_trace(x = -1:-7,y = 1:7,type = "scatter",line = list(color = 'lightgreen',width = 2,dash = 'solid'),inherit = FALSE)

fig

result

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...