gpt4 book ai didi

r - ggplot热图图例不代表负数

转载 作者:行者123 更新时间:2023-12-02 03:57:24 26 4
gpt4 key购买 nike

我正在尝试为包含负数的数据集制作热图:

Ne      BR         Error  
10000 0.00001 1.62
10000 0.000001 -1.03
10000 0.0000001 -0.124
100000 0.00001 36.73
100000 0.000001 5.86
100000 0.0000001 -0.79
1000000 0.00001 -8.335
1000000 0.000001 39.465
1000000 0.0000001 2.59

我使用了这段代码:

library(ggplot2)  
data = read.csv('full_path')
(p <- ggplot(data[1:9,], aes(Ne, BR)) +
geom_tile(aes(fill=Error), colour="white") +
scale_fill_gradient(low="white", high="black") + scale_x_log('Ne') +
scale_y_log('Birth Rate') + opts(axis.ticks = theme_blank()))

这会产生一个很好的热图,但图例没有考虑负数。颜色似乎正确反射(reflect)了负值,但图例停在零处,即浅灰色。如何从中获取涵盖数据框“错误”列中全部数据的图例?

最佳答案

试试这个:

ggplot(dat, aes(Ne, BR)) +
geom_tile(aes(fill=Error), colour="white") +
scale_fill_gradient(low="white", high="black",breaks = seq(min(dat$Error),max(dat$Error),length.out = 5)) + scale_x_log('Ne') +
scale_y_log('Birth Rate') + opts(axis.ticks = theme_blank())

ggplot 只是试图为您选择刻度中的“好的”中断,类似于选择轴刻度线的方式。 (我将您的数据框名称更改为 dat,因为 data 是 R 中常用的函数。这不是一个大问题,但可以避免混淆。)

enter image description here

关于r - ggplot热图图例不代表负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536639/

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