ggplot2:某些geom_point形状导致奇怪的颜色

5
我遇到了一个非常奇怪的问题。我想让geom_point的形状为|。这样做会使我的图表出现一些不正常的颜色。尽管我将颜色设置为黑色,但似乎仍有一些绿色和黄色。我以为我搞错了,但保存图表并放大后证实了我的感觉。
我正在进行以下操作:
library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Species)) +
  geom_point(shape= 124, size= 20, col= "black")

我所看到的是这个(我放大了以澄清问题):

plot

您可能需要点击图片才能理解我的意思。有趣的是,如果我使用shape= 1,这种情况就不会发生:

okay


这难道不只是图像本身的产物,而与ggplot无关吗?如果您将ggplot保存为矢量格式(如pdf),这不就消失了吗? - Allan Cameron
@AllanCameron 这个问题甚至在我保存图表之前就出现了。我可以在R Studio的绘图面板中看到它。但奇怪的是:一旦我将其导出为pdf,问题就消失了。你能把你的评论发表为答案吗? - user11538509
这是一种光学效应,称为色差。您可能在其他形状中看不到它,因为线条太细而无法产生对比度。https://en.wikipedia.org/wiki/Chromatic_aberration - tjebo
1
我错了!请看@AllanCameron的回复。 - tjebo
2个回答

1

我认为这只是图像伪影,而与ggplot本身无关。如果你将绘图以pdf的向量格式保存并放大查看,色差边缘实际上并不存在:

enter image description here


这不是真正的图像伪影,而是一种光学效应(色差)。 - tjebo
1
@Tjebo 这不是色差(我知道你是一名眼科医生,但请让我解释一下)。如果您放大OP发布的图像,您可以清楚地看到颜色条纹变得更大,并且客观地对样本像素进行采样,以查看它们是否真实存在。如果这是由镜头产生的图像,您可以说它是色差。我可以在我的显示器上看到纯黑色与纯白色之间的彩色条纹,这是由于色差引起的,但是除非通过镜头记录了图像,否则色差不会随着缩放而扩大。 - Allan Cameron
1
你是对的!非常好奇,特别是因为这些像素实际上遵循“正常”的色差边缘... - tjebo
1
正是我的想法,@Tjebo。我不愿意发表答案,因为我无法解释为什么会发生这种情况。 - Allan Cameron

1

谢谢,我认为这是正确的解释。 - Allan Cameron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接