将R散点图3d中NA值的颜色更改为灰色

332nm8kg  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(192)

我正在尝试生成一个绘图,其中我想用半透明的灰色显示NA值,并用蓝红色标度绘制一组数值。默认情况下,绘图时用深灰色纯色显示NA,但我认为一定有办法改变这种情况。有办法做到这一点吗?下面是我的代码的模型:

library("plotly")

blue_red <- rev(c("#A50026", "#D73027", "#F46443", "#FDAE61", "#FEE090"
                , "#E0F3F8", "#ABD9E9", "#74ADD1", "#4575B4", "#313695"))

mtcars$brand <- sapply(strsplit(rownames(mtcars), " "), "[[", 1)
mtcars[mtcars$brand=="Merc","mpg"] <- NA

fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, 
        marker = list(size = 6),
        color=~mpg,
        colors = blue_red,
        type = "scatter3d", 
        mode = "markers")
fig

我在这里发现了一个有点类似的问题:https://community.plotly.com/t/how-to-change-colors-for-na-values-to-gray-in-a-choropleth-map/15746/3,但我还不能翻译它来解决我的问题。

bqf10yzr

bqf10yzr1#

编辑后才有意义好的,你已经知道了x,y,z坐标的三元组,你想给mpg的不同值赋值,你能简单地做下面的事情吗?

mtcars[mtcars$brand=="Merc","mpg"] <- your_chosen_value并将期望颜色分配给该值。
如果这会使Map到真实数值的颜色失真,那么使用一个调用绘制所有非“Merc”数据,然后使用第二个调用绘制所有“Merc”数据(使用简单的单值颜色分配而不是blue_red矢量)可能会更简单。

相关问题