gpt4 book ai didi

r - scale_fill_viridis_c 对数标尺上的颜色条

转载 作者:行者123 更新时间:2023-12-05 08:26:11 37 4
gpt4 key购买 nike

我希望这不是重复的,但我不能再搜索互联网了。我真的很想生成一个热图,但颜色条是对数刻度。我不一定要将我的值转换为日志,而是更改颜色条,使其从 0, 0.01, 0.1, 1, 10, 100 运行。我包含了一个 reprex,它显示了我正在使用的数据的示例,下面是我希望概括的一篇论文中的图表。

library(tidyverse)

my_data <- tibble(sample_name = rep(c("A", "B", "C"), 3),
sample_genus = c(rep("Genus1", 3), rep("Genus2", 3),rep("Genus3", 3)),
sample_abundance = c(0,5,45,0.3,0.01,15,1,8,89))

ggplot(data = my_data, aes(x = sample_name,
y = sample_genus,
fill = sample_abundance)) +
geom_tile() +
scale_fill_viridis_c(limits = c(0, 100))

reprex package 创建于 2019-08-16 (v0.3.0)

heatmap image

最佳答案

这是一种使用 scales::pseudo_log_trans 的方法,它让我们绘制 0 但过渡到对数缩放超过 1。

my_breaks <- c(0, 0.01, 0.1, 1, 10, 100)

ggplot(data = my_data, aes(x = sample_name,
y = sample_genus,
fill = sample_abundance)) +
geom_tile() +
scale_fill_viridis_c(breaks = my_breaks, labels = my_breaks,
trans = scales::pseudo_log_trans(sigma = 0.001))

enter image description here

关于r - scale_fill_viridis_c 对数标尺上的颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57530800/

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