R - 带有中值温度颜色的箱线图

标签 r colors boxplot

我有 39 个物种的箱线图及其分布范围的年温度值 (bio01)。中值位于 boxplot$stats 的第 3 行。我想将最高中值着色为红色,将最低中值着色为蓝色,即温度梯度。下面的 medcol 代码不起作用。有人可以提出解决方案吗?

b <- boxplot(bio01 ~ species, data=species.threshold.22.climate.751, las=2, ylab ="bio01", par(mar = c(18, 5,5, 2)+ 0.1), cex.names=0.2, bw = 5, medcol=b$stat[3,])
b$stats

最佳答案

这应该会让您走上正确的道路:

# Dummy data
x = data.frame(col1=rep(month.abb, 20), col2=rnorm(20*12))

# develop colour gradient
cols = colorRampPalette(c("blue", "red"))
# Calculate medians
m = unname(tapply(x$col2, x$col1, median))

# Plot and colour by size of median
boxplot(col2 ~ col1, x, col=cols(length(unique(x$col1)))[findInterval(m, sort(m))])

输出: enter image description here

感谢One colour gradient according to value in column scatterplot in R获取间隔帮助。

关于R - 带有中值温度颜色的箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26801611/

相关文章:

r - 将平面添加到 scatterplot3d

r - 如何在不将每个绘图对象打印到屏幕的情况下将自定义调色板列表附加到 ggplot 对象列表?

Android 3.x EditText 光标颜色

r - 使用 R 和 ggplot2 的箱线图图例键的透明度

python - 有没有办法在 matplotlib 箱线图图例中标记均值和中值?

python - 在箱线图中叠加中位数/方差的数值

r - 转换带时间戳的行数据时的性能问题

r - 来自两个表的 RMarkdown 循环 - 输出不匹配

r - 选择具有R中最长字符串的列

android - 是否可以在 android 中更改所选选项卡的颜色?