3

我不知道您是否看到过一些不需要的粗体字体,如下图所示:

在此处输入图像描述

如您所见,第三行是粗体,而其他行不是。当我尝试使用ggplot()withlapply()或 special时,会发生这种情况,mclapply()根据不同的数据制作相同的图表模板,并将所有结果作为不同的图表放在一个 PDF 文件中。

一种解决方案是避免使用lapply(x, f)whenf()是一个返回绘图的函数,但在某些情况下ggplot()我必须这样做以组合图表(即作为 的输入)。grid.arrange()

很抱歉无法为您提供可重现的示例,我非常努力但没有成功,因为代码和数据的大小对于多个嵌套函数来说太大了,当我降低复杂性以制作可重现的示例时,问题并没有发生。

我问这个问题是因为我猜也许有人遇到过同样的经历并且知道如何解决它。

4

2 回答 2

2

我的直觉是它实际上并没有以粗体打印,而是由于某种原因被双重打印,然后看起来很粗体。这可以解释为什么它没有提出一个更简单的例子。特别是考虑到您提到嵌套函数和可能其他复杂的结构很容易得到一个错误或类似的错误,我会尝试做一些你可以看到正在绘制的东西的事情 - 也许通过检查length()返回值从apply().

更改向量元素的顺序,使键中元素的顺序不同,也可能有所帮助。如果您始终在最后一个元素上使用粗体字,那也会告诉您更多关于哪里出了问题。

正如@Dinre 也提到的,它也可能与您的绘图设备有关。您可以尝试更改绘图设备。不过,我对此表示怀疑,因为这不是一个一致的问题。您还可以尝试更改键的位置,这取决于您的绘图设备和设置,可能会将您移入或移出压缩块,从而更改出现的伪影。

于 2013-06-17T13:35:33.900 回答
0

可重现的示例和解决方案可能如下:

library(ggplot2)

d <- data.frame(x=1:10, y=1:10)
ggplot(data = d, aes(x=x, y=y)) +
    geom_point() +
    geom_text(aes(3,7,label = 'some text 10 times')) +
    geom_text(data = data.frame(x=1,y=1), 
              aes(7,3, label = 'some text one time'))

当我们尝试通过geom_text()手动插入添加标签x并且y不缩短数据时。然后,同一个标签的打印次数恰好与我们数据的行数一样多。可以通过替换 中的数据将数据长度强制为 1 geom_text()

阴谋

于 2017-04-29T18:15:22.843 回答