R:ggplot2中断并标记

时间:2014-02-05 16:02:38

标签: r ggplot2

我对R ggplot2有疑问。

我收到此错误:

Error in scale_labels.continuous(scale, breaks) : 
  Breaks and labels are different lengths

即使我确定断裂和标签的长度相同。

无论如何调试图(即检查绘图变量是否有断点和标签以检查错误在哪里)

使用的代码是:

dataf$pval.d <- cut(dataf$pvalue, breaks=c(min(dataf$X),0.05,Inf), 
                    labels=c("min","0.05"), right = FALSE)

pl <-ggplot(dataf) + 
         geom_tile(aes(fill=C,A,B)) + 
         stat_contour(breaks = c(min(dataf$X),0.05),
                      aes(x=A,y=B,z=pvalue,colour = ..level..)) + 
         scale_colour_gradient2(low="black",mid="black",high="green",
            labels=paste(levels(dataf$pval.d),table(dataf$pval.d)),
            name="\n P-value \n")

数据框dataf的样本是这样的:

    A  B         C      pval
1   8  4 0.6714801 0.3138729
2   9  9 0.6373763 0.1402027
3   5  6 0.6695279 0.3426810
4  10  7 0.6338043 0.1722161
5   2  3 0.6692842 0.3301052
6   1  1 0.6728664 0.5777641
7   6  2 0.6608868 0.2637952
8   3 10 0.6721009 0.6584530
9   7  8 0.6338043 0.7839811
10  4  5 0.6728818 0.5045481

输出:

> paste(levels(dataf$pval.d),table(dataf$pval.d))
[1] "min 0"   "0.05 10"

正如你所看到的,标签和中断的长度相同,但也许我犯了一些错误但我不知道的事情?

0 个答案:

没有答案