gpt4 book ai didi

r - 如何使色标误差线遵循色标?

转载 作者:行者123 更新时间:2023-12-04 09:35:27 25 4
gpt4 key购买 nike

首先,我说过我尝试了Color coding error bars in a plotly scatter plot中概述的方法,但是我无法使它们起作用。据我所知,在绘图版本4中处理色轴的方式有所变化,这可能就是为什么它不再解决问题的原因。

我想对两个变量做一个简单的散点图,并为每个变量添加误差线。我希望点的颜色及其误差线遵循由第三个变量确定的比例。我无法使错误栏颜色与标记匹配。以下是我尝试过的几种简单方法及其结果。

set.seed(1)
x.data <- rnorm(20, 0, 1)
y.data <- rnorm(20, 2, 1)
x.err <- runif(20, 0.2, 0.8)
y.err <- runif(20, 0.2, 0.8)
z.data <- runif(20, 1.7, 2.8)

p <- plot_ly() %>%
add_markers(x=x.data, y=y.data,
error_x=list(array=x.err, color=z.data),
error_y=list(array=y.err, color=z.data),
marker=list(color=z.data, colorscale='Viridis',
colorbar=list(title='Z', limits=range(z.data)))) %>%
layout(xaxis=list(title='X'), yaxis=list(title='Y'))

enter image description here
z.norm <- (z.data - min(z.data))/(max(z.data)-min(z.data))
mycramp<-colorRamp(c("darkblue","yellow"))
mycolors<-rgb(mycramp(z.norm), maxColorValue = 255)

p <- plot_ly() %>%
add_markers(x=x.data, y=y.data,
error_x=list(array=x.err, color=mycolors),
error_y=list(array=y.err, color=mycolors),
marker=list(color=mycolors,
colorbar=list(title='Z', limits=range(z.data)))) %>%
layout(xaxis=list(title='X'), yaxis=list(title='Y'))

Bad color bars

最佳答案

r plotly的文档可能会有点缺乏。我认为这是您正在寻找的东西。您要使用name参数。必须同时包含colorname。我们必须手动定义name参数的级别。我们也可以设置color来分解,但随后我们失去了色带。 colors让我们使用RColorBrewer调色板更改调色板。

plot_ly() %>%
add_markers(x = x.data,
y = y.data,
showlegend = F, # must hide legend here or it shows up twice
name = factor(z.data, levels = z.data, labels = z.data), # this is missing
color = z.data,
colors = "Set1",
error_x = list(array = x.err),
error_y = list(array = y.err))

enter image description here

关于r - 如何使色标误差线遵循色标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58632173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com