2

我正在尝试使用ggplot2(您看到下面的代码)创建一个热图现在我要更改两件事:

  1. 我绘制 pValues(希望非常小)所以我想绘制颜色对数刻度。我尝试了不同变体的 trans="log",但没有一个起作用
  2. 我想在图例中显示超过 6 个值。我尝试了例如休息,标签,但这并不奏效

    (p <- ggplot(dataPVal.m, aes(variable, structure)) + 
          geom_tile(aes(fill = pValue), colour = "white") + 
          scale_colour_gradientn(colour = rainbow(100), breaks = c(1,2,3,4,5,6), labels =c("a","b","c","d","e","f")) +
          theme_grey(base_size = base_size) + 
          labs(x = "position (0=seed start)",y = "structure") + ## labels
          #scale_x_discrete(expand = c(0.01, 0.01)) +            ## grauer rand oben/unten
          #scale_y_discrete(expand = c(0.01, 0.01)) +            ## grauer rand links/rechts
          opts(title=plot_title,legend.position = "left",axis.ticks = theme_blank(), axis.text.x = theme_text(size = base_size * 0.8, angle = 330, hjust = 0, colour = "grey50"))
    )
    

这是 pValue 表 (dataPVal.m) 的示例:

        结构变量值 pValue
1 CB -10 1.00000000 1.00000000
2 BB -10 1.00000000 1.00000000
3 SC -10 0.34700205 0.34700205
4 GC -10 1.00000000 1.00000000
5 BC -10 1.00000000 1.00000000
6 SG -10 0.44494198 0.44494198
7 JG -10 1.00000000 1.00000000
8 IG -10 1.00000000 1.00000000
9 HG -10 1.00000000 1.00000000
10 CG -10 1.00000000 1.00000000
11 HH -10 1.00000000 1.00000000
12 GH -10 0.34375000 0.00000025
13 SI -10 0.25000000 0.25000000
14 吉-10 0.40359735 0.40359735
15 II -10 1.00000000 1.00000000
16 GI -10 1.00000000 1.00000000
17 SJ -10 0.53296021 0.53296021
18 IJ -10 1.00000000 1.00000000
19 GJ -10 1.00000000 1.00000000
20 美国 -10 0.19567557 0.19567557
21 不锈钢 -10 0.43017585 0.00000032
22 JS -10 1.00000000 1.00000000
23 IS -10 1.00000000 1.00000000
24 GS -10 1.00000000 1.00000000
25 CS -10 1.00000000 1.00000000
26 UU -10 0.39863089 0.39863089
27 苏 -10 0.50000000 0.50000000
28 朱 -10 1.00000000 1.00000000
29 CB -9 0.34944171 0.34944171
30 BB -9 1.00000000 1.00000000
31 SC -9 0.53230531 0.53230531

有没有人可以解决这两个问题?

谢谢这么久

4

1 回答 1

11

当我插入

+ scale_fill_gradient( trans = 'log' ) +

在它确实将填充比例更改为对数之后,并且( )geom_tile(...)有 8 个图例条目。那是你试过的吗?pValuee^0, e^(-2),...e^(-14)

于 2011-02-21T20:24:53.697 回答