PDF 和位图输出中 R 中的颜色渐变
Color gradients in R in PDF and bitmap output
我正在努力在 R 中获得视觉上可接受的颜色渐变(有关我的特定案例的详细描述,请参阅 here)。简而言之,问题是虽然 R window 中的输出看起来不错,但 PDF 在用于生成渐变的段之间显示细白线。
n <- 100
cc <- colorRampPalette(c("red", "blue"))(n)
plot.new()
par(mar=rep(0,4))
sapply(1:n, function(i) rect((i-1)/n, 0, i/n, 1, col=cc[i], border=NA))
dev.copy2pdf(file="test.pdf")
结果如下:
您可以看到白色的细线。它们的位置取决于缩放,所以我假设它们是 PDF 显示方式的产物。在另一个缩放中也是如此:
不幸的是,这些线条在打印输出中也可见。我想问题可能出在将矢量图形渲染为位图以进行显示或打印时,PDF 中的坐标如何四舍五入。
一种可能的解决方案是使用相互重叠的片段。这仅适用于纯色;不幸的是,我也想在渐变中使用透明颜色。
如何改进我的 PDF 输出?
您尝试过这个解决方案吗?第一个矩形将采用更大的 space,第二个将绘制在第一个矩形上,从而消除其后面的白线。我拿到的pdf不显示白线
n <- 100
cc <- colorRampPalette(c("red", "blue"))(n)
plot.new()
par(mar=rep(0,4))
sapply(1:n, function(i) rect((i-1)/n, 0, (i + 1)/n, 1, col=cc[i], border=NA))
dev.copy2pdf(file="test.pdf")
这是放大 6400%
这似乎是一个完全由渲染器引起的问题。例如:
我认为您无法通过更改 PDF 来从根本上解决问题。就我而言,Adobe Acrobat 在任何缩放级别下看起来都不错,除了非常高的缩放级别(我必须缩放到 3200% 才能看到白线)。
此外,Chrome 和 Microsoft Edge 似乎运行良好。
我正在努力在 R 中获得视觉上可接受的颜色渐变(有关我的特定案例的详细描述,请参阅 here)。简而言之,问题是虽然 R window 中的输出看起来不错,但 PDF 在用于生成渐变的段之间显示细白线。
n <- 100
cc <- colorRampPalette(c("red", "blue"))(n)
plot.new()
par(mar=rep(0,4))
sapply(1:n, function(i) rect((i-1)/n, 0, i/n, 1, col=cc[i], border=NA))
dev.copy2pdf(file="test.pdf")
结果如下:
您可以看到白色的细线。它们的位置取决于缩放,所以我假设它们是 PDF 显示方式的产物。在另一个缩放中也是如此:
不幸的是,这些线条在打印输出中也可见。我想问题可能出在将矢量图形渲染为位图以进行显示或打印时,PDF 中的坐标如何四舍五入。
一种可能的解决方案是使用相互重叠的片段。这仅适用于纯色;不幸的是,我也想在渐变中使用透明颜色。
如何改进我的 PDF 输出?
您尝试过这个解决方案吗?第一个矩形将采用更大的 space,第二个将绘制在第一个矩形上,从而消除其后面的白线。我拿到的pdf不显示白线
n <- 100
cc <- colorRampPalette(c("red", "blue"))(n)
plot.new()
par(mar=rep(0,4))
sapply(1:n, function(i) rect((i-1)/n, 0, (i + 1)/n, 1, col=cc[i], border=NA))
dev.copy2pdf(file="test.pdf")
这似乎是一个完全由渲染器引起的问题。例如:
我认为您无法通过更改 PDF 来从根本上解决问题。就我而言,Adobe Acrobat 在任何缩放级别下看起来都不错,除了非常高的缩放级别(我必须缩放到 3200% 才能看到白线)。
此外,Chrome 和 Microsoft Edge 似乎运行良好。