疑难解答:找不到多边形边缘

时间:2015-02-17 10:28:42

标签: r

有谁知道此错误消息的含义?我试图将字体更改为Helvetica,然后它适用于小数据帧。但是,当我尝试绘制大数据帧时,错误再次出现。

我在Mac上使用RStudio

> head(Merged_Columns.m)
    SYMBOL Cond variable    value
1    Baz2b    T       0h  40.5629
2     Tpm4    T       0h  44.8539
3    H2-K1    T       0h 218.9180
4    Usp22    T       0h  23.6377
5     Mreg    T       0h  95.8775
6 Arhgap30    T       0h  40.1333

p <- ggplot(Merged_Columns.m, aes(variable, value, colour=Cond)) + geom_point() 
p + theme_bw(base_family= 'Helvetica') + facet_wrap(~SYMBOL,ncol = 2) + scale_y_continuous(trans = log2_trans(),
                                                      breaks = trans_breaks("log2", function(x) 2^x),
                                                      labels = trans_format("log2", math_format(2^.x))) +
 theme(axis.text.x  = element_text(angle=90)) +
  labs(title="10 > CPM > 8", x= "Time (h)" , y= "Expression (log2)")


Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  polygon edge not found

2 个答案:

答案 0 :(得分:0)

我可以间歇地在您的小样本上运行您的代码(在Mac 1.2.5019上为RStudio),重现您的错误。

问题可能与this issue相同,后者指出了一些底层错误,这些错误在基础图形代码中将表达式显示为标签,尤其是使用math_format()和上标。自您的原始帖子以来,此问题已受到维护者的一些关注和增量修复-尽管可能尚未100%解决。

你应该怎么做?

  1. 确保您使用的是最新的RStudio,以确保可以从将来的错误修复中受益。
  2. 当使用某些表达式在ggplot2中形成标签时要当心。

这不是解决方案,但是如果您完全从labels = ...中删除scale_y_continuous()参数,或者选择其他格式,则希望不会收到相同的错误。


关于SO(Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : Polygon edge not found)上的字体可用性还有另一个问题,尽管该错误消息有其他警告,并且在您的示例中似乎没有错。

答案 1 :(得分:0)

我在 hrbrthemes(建立在 ggplot 上)遇到了类似的问题,在阅读日志后,我发现了以下消息:

NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
  Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
  if Arial Narrow is not on your system, please see ...

确保安装了特定字体,就我而言,hrbrthemes::import_roboto_condensed() 成功了。