【问题标题】:plotting regression lines in grey scale以灰度绘制回归线
【发布时间】:2020-06-15 01:02:15
【问题描述】:

我正在尝试针对四种物种的采样日绘制蒸腾回归线,但是我使用的是指定彩色线的代码。我想使用下面的代码,但改用黑色、白色和灰色。

plotly_interaction <- function(data, x, y, category, colors = col2rgb(viridis(nlevels(as.factor(data[[category]])))), ...) {

 require(plotly)
 require(viridis)
 require(broom)

 groups <- unique(data[[category]])

 p <- plot_ly(...)

 for (i in 1:length(groups)) {
   groupData = data[which(data[[category]]==groups[[i]]), ]
   p <- add_lines(p, data = groupData,
                  y = fitted(lm(data = groupData, groupData[[y]] ~ groupData[[x]])),
                  x = groupData[[x]],
                  line = list(color = paste('rgb', '(', paste(colors[, i], collapse = ", "), ')')),
                  name = groups[[i]],
                  showlegend = FALSE)
   p <- add_ribbons(p, data = augment(lm(data = groupData, groupData[[y]] ~ groupData[[x]])),
                    y = groupData[[y]],
                    x = groupData[[x]],
                    ymin = ~.fitted - 1.96 * .se.fit,
                    ymax = ~.fitted + 1.96 * .se.fit,
                    line = list(color = paste('rgb','(', paste(colors[, i], collapse = ", "), ', 0.05)')), 
                    fillcolor = paste('rgba', '(', paste(colors[, i], collapse = ", "), ', 0.1)'),
                    showlegend = FALSE)
   p <- add_markers(p, data = groupData, 
                    x = groupData[[x]], 
                    y = groupData[[y]],
                    symbol = groupData[[category]],
                    marker = list(color=paste('rgb','(', paste(colors[, i], collapse = ", "))))
 }
 p <- layout(p, xaxis = list(title = x), yaxis = list(title = y))
 return(p)
}

【问题讨论】:

    标签: r regression plotly


    【解决方案1】:

    试试这个:

    plotly_interaction(iris, "Sepal.Length", "Sepal.Width", "Species", colors = col2rgb(c("black", "white", "grey")))
    

    给出这个:

    【讨论】:

    • 这非常有用!!!!非常感谢 - 在这种情况下如何进一步修改代码?我有点困惑为什么除了粘贴代码第一行中已经声明的“颜色”之外它还粘贴“rgb”,例如这里 line = list(color = paste('rgb', '(',粘贴(颜色[[,i],折叠=“,”),')'))
    • 嗨@sonalisaha。是的。我也是。 (; 首先。plotly.js 和 R 在支持颜色的方式上有所不同。参见例如plotly-r.com/working-with-colors.html,例如 plotly 不适用于所有 R 颜色名称或颜色可能不同。第二。所有粘贴的一个原因函数体对用于色带的颜色具有一定的透明度。
    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 2018-07-10
    • 2017-06-12
    • 2016-05-12
    • 1970-01-01
    • 2021-11-23
    • 2010-12-20
    • 1970-01-01
    相关资源
    最近更新 更多