是否可以在scale_fill_gradient2()中定义“中”范围?

诊断

我正在使用创建热图ggplot(),并且想利用的3种配色方案scale_fill_gradient2()但是,我发现中间颜色太宽,往往会负面显示我的某些数据(例如,使用“黑色”)。是否可以定义被认为是“中”的范围以使其更窄?如果没有,有没有更好的办法呢?

数据集:

structure(list(var1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L), .Label = c("A", "B", "C", "D", "E", "F", "G"), class = "factor"), 
var2 = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 1L, 2L, 
3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 
17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 1L, 2L, 3L, 4L, 5L, 
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 23L, 24L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 
20L, 21L, 22L, 23L, 24L), .Label = c("a", "b", "c", "d", 
"e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", 
"q", "r", "s", "t", "u", "v", "w", "x"), class = "factor"), 
corr = c(0.039063517, -0.012531832, 0.096287532, -0.156156609, 
-0.097044878, 0.144426494, 0.102142979, 0.061426893, 0.051079225, 
0.271860908, 0.156812951, 0.259456277, -0.121838722, -0.157440078, 
-0.037827967, -0.01929319, -0.108895665, -0.066815122, 0.254285337, 
0.12688199, -0.064394035, 0.00112601, 0.173774179, 0.01179886, 
0.105171013, 0.088559148, 0.033584364, -0.368075609, -0.272671354, 
-0.456557935, -0.441008229, -0.118498286, -0.309056047, 0.051624421, 
0.087594347, -0.0264506, 0.081249807, -0.194887615, -0.135397719, 
-0.078688964, -0.059544125, -0.065410158, 0.211446055, 0.027338504, 
-0.06185598, -0.007720807, 0.092997248, -0.177812491, 0.133226267, 
0.075247459, 0.04586679, -0.37972917, -0.254410003, -0.447919321, 
-0.426264017, -0.150347417, -0.270786314, 0.143483685, 0.230384468, 
-0.012297462, 0.096957204, -0.134348613, -0.056239035, -0.038059581, 
-0.040273741, -0.131126698, 0.222754865, 0.067883188, -0.154724805, 
-0.076366467, 0.152747678, -0.160657826, 0.104652439, 0.029599007, 
-0.02194356, -0.349623751, -0.228046427, -0.363148102, -0.326649794, 
-0.160199177, -0.253621489, 0.242711785, 0.242808683, 0.005937022, 
0.120849407, -0.131358491, 0.004558011, -0.056873299, 0.048745675, 
-0.147360978, 0.204314713, 0.033110005, -0.154644375, -0.095999454, 
0.202067265, -0.182694112, 0.071256125, 0.062783632, 0.078250678, 
-0.348208521, -0.237899511, -0.235431913, -0.249280276, -0.129802124, 
-0.084153729, 0.201859004, 0.292353092, -0.000270168, 0.130668616, 
-0.101519227, -0.024695776, -0.024373331, -0.05976031, -0.07861482, 
0.150316096, 0.100494694, -0.107507982, -0.06543542, 0.220813403, 
-0.159374132, 0.139677124, 0.005974473, 0.011484774, -0.423918147, 
-0.286712875, -0.286979217, -0.2730134, -0.095014441, -0.134216671, 
0.215551068, 0.432571228, 0.029945066, 0.178996421, -0.114005412, 
-0.098205883, 0.009661061, -0.07163473, 0.010722592, 0.175801779, 
0.170582102, -0.199407024, -0.15933157, 0.246575881, -0.084929336, 
0.160642274, 0.025941888, -0.058676465, -0.297996589, -0.180504241, 
-0.236672516, -0.228203539, -0.181349045, -0.091893083, 0.277145017, 
0.38119709, 0.019554381, 0.18725277, -0.019416086, 0.000417258, 
0.134560252, 0.059330986, -0.091994882, 0.11807573, 0.175219716, 
-0.169272253, -0.094240107, 0.180532375, 0.04322002)), .Names = c("var1", "var2", "corr"), class = "data.frame", row.names = c(NA, -168L))

代码中使用reshape2ggplot2以及scales

sample.m <- melt(sample)
sample.m$var2 <- as.character(sample.m$var2)
sample.m$var2 <- factor(sample.m$var2, levels=unique(sample.m$var2),ordered=TRUE)
sample.m$var1 <- as.character(sample.m$var1)
sample.m$var1 <- factor(sample.m$var1, levels=unique(sample.m$var1),ordered=TRUE)
p <- ggplot(sample.m, aes(var2,var1)) + geom_tile(aes(fill=value), colour="transparent") +    scale_fill_gradient2(low="cyan", mid="black", high="red", midpoint=0, limits=c(-0.6,0.6))
base_size <- 9
p + theme_bw() + labs(x = "", y = "") + scale_x_discrete(expand = c(0,0)) + theme(legend.position = "bottom", axis.ticks = element_blank(), axis.text.x = element_text(size = base_size * 0.8, angle = 310, hjust = 0, colour = "black"), axis.text.y = element_text(size = base_size * 0.8,colour = "black"))
亨里克

您可以尝试scale_fill_gradientnvalues参数。来自?scale_fill_gradientn

如果颜色不应该沿渐变均匀地定位,则此矢量给出颜色矢量中每种颜色的位置(0到1之间)。请参阅参考资料rescale,以将任意范围映射到0到1之间的便利函数。

因此,可以通过使用适当的数字来提高接近零值的色标分辨率values = rescale(...)

scale_fill_gradientn(colours = c("cyan", "black", "red"),
                       values = scales::rescale(c(-0.5, -0.05, 0, 0.05, 0.5)))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在scale_fill_gradient2()中定义“中”范围?

来自分类Dev

直方图与点图上的R ggplot scale_fill_gradient2

来自分类Dev

R中的ggplot2 :: scale_fill_gradient-自定义颜色

来自分类Dev

ggplot2中的scale_colour_gradient与scale_fill_gradient

来自分类Dev

修改scale_fill_gradient中的参数

来自分类Dev

有条件地在ggplot2中应用scale_fill_gradient

来自分类Dev

R:我可以使用scale_color_gradient更改ggplot2中geom_hline的颜色吗?

来自分类Dev

是否可以为协议缓冲区中的字段定义数字范围?

来自分类Dev

是否可以在ElasticSearch中创建预定义范围过滤器构面?

来自分类Dev

是否可以在Idris中定义Zipp?

来自分类Dev

是否可以在OCaml中定义rest参数?

来自分类Dev

是否可以在Twig中定义内联模板?

来自分类Dev

是否可以在MongoDB中定义架构?

来自分类Dev

是否可以在角色的任务中定义变量?

来自分类Dev

python数据框中是否有一种方法可以从日期范围填充自定义星期数?

来自分类Dev

可以查看自定义指令中的范围吗?

来自分类Dev

在ggplot 2中使用堆叠条形图中的scale_fill_manual和scale_fill_discrete显示颜色

来自分类Dev

是否可以从现有的请求范围中激活会话范围和对话范围?

来自分类Dev

是否可以在模板Angularjs中输出整个范围?

来自分类Dev

是否可以在Hazelcast中创建WAN范围的主题?

来自分类Dev

是否可以在C ++中添加到类范围?

来自分类Dev

在C ++中是否可以在开关范围之外声明变量?

来自分类Dev

是否可以在jQuery事件中更改Angular范围?

来自分类Dev

是否可以在Eclipse中设置项目范围的VM参数

来自分类Dev

ggplot2 中不同行的两个不同 scale_colour_gradient2()

来自分类Dev

是否可以在 VBA 中定义用户定义类型的常量?

来自分类Dev

是否可以在注释中的Doxygen中定义示例?

来自分类Dev

在Robot Framework中是否可以在字典中定义列表?

来自分类Dev

在Google表格中定义命名范围时,可以跳过范围吗?

Related 相关文章

  1. 1

    是否可以在scale_fill_gradient2()中定义“中”范围?

  2. 2

    直方图与点图上的R ggplot scale_fill_gradient2

  3. 3

    R中的ggplot2 :: scale_fill_gradient-自定义颜色

  4. 4

    ggplot2中的scale_colour_gradient与scale_fill_gradient

  5. 5

    修改scale_fill_gradient中的参数

  6. 6

    有条件地在ggplot2中应用scale_fill_gradient

  7. 7

    R:我可以使用scale_color_gradient更改ggplot2中geom_hline的颜色吗?

  8. 8

    是否可以为协议缓冲区中的字段定义数字范围?

  9. 9

    是否可以在ElasticSearch中创建预定义范围过滤器构面?

  10. 10

    是否可以在Idris中定义Zipp?

  11. 11

    是否可以在OCaml中定义rest参数?

  12. 12

    是否可以在Twig中定义内联模板?

  13. 13

    是否可以在MongoDB中定义架构?

  14. 14

    是否可以在角色的任务中定义变量?

  15. 15

    python数据框中是否有一种方法可以从日期范围填充自定义星期数?

  16. 16

    可以查看自定义指令中的范围吗?

  17. 17

    在ggplot 2中使用堆叠条形图中的scale_fill_manual和scale_fill_discrete显示颜色

  18. 18

    是否可以从现有的请求范围中激活会话范围和对话范围?

  19. 19

    是否可以在模板Angularjs中输出整个范围?

  20. 20

    是否可以在Hazelcast中创建WAN范围的主题?

  21. 21

    是否可以在C ++中添加到类范围?

  22. 22

    在C ++中是否可以在开关范围之外声明变量?

  23. 23

    是否可以在jQuery事件中更改Angular范围?

  24. 24

    是否可以在Eclipse中设置项目范围的VM参数

  25. 25

    ggplot2 中不同行的两个不同 scale_colour_gradient2()

  26. 26

    是否可以在 VBA 中定义用户定义类型的常量?

  27. 27

    是否可以在注释中的Doxygen中定义示例?

  28. 28

    在Robot Framework中是否可以在字典中定义列表?

  29. 29

    在Google表格中定义命名范围时,可以跳过范围吗?

热门标签

归档