在格子图中添加/代替背景颜色使用图案
我正在使用 R 格子包中的水平图。我得到的图如下所示。
我现在的问题是我需要生成黑白版本进行打印。
有没有办法将颜色更改为灰度并为矩形提供背景图案,以便可以将红色与蓝色区分开来?例如,我会想到点或对角线。
谢谢!
I am using level plots from the R lattice package. My resulting plots look like the one shown below.
My problem now is that I need to generate a black and white version for printing.
Is there a way to change the colors to grayscale and give the rectangles a background pattern so the the red once are distinguishable from the blue ones? For example, dots or diagonal dashes come to mind.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
添加点会更容易,只需在顶部添加
panel.points
即可。向图例添加点可能会有点困难。以下函数在网格图形中执行此操作。编辑:对于图案填充,您可以将
pointsGrob
替换为gridExtra:: patternGrob
(您也可以对矩阵的图块执行此操作)。dots would be easier to add, simply adding
panel.points
on top. Adding points to the legend could be a bit harder. The following function does it in grid graphics.EDIT: for a pattern fill, you can replace
pointsGrob
withgridExtra::patternGrob
(you could also do it for the tiles of the matrix).我找到了一种方法来手动绘制 levelplot 面板,并在值大于 0.5 的所有单元格上绘制对角线填充图案。
但是,我无法在颜色键图例中绘制相同的图案。经过几个小时的阅读论坛并尝试理解点阵源代码后,我找不到任何线索。也许其他人可以解决这个问题。这是我得到的:
I found a way to manually draw into the levelplot panel and to draw a diagonal fill pattern over all cells with values greater than 0.5
However, I couldn't manage to draw the same pattern in the color key legend. After hours of reading forums and trying to understand the lattice source code, I couldn't get a clue. Maybe someone else could fix that. Here is what I got:
在我看来,使用两种以上的图案(例如具有不同密度的 45° 和 135° 定向线)会令人困惑。 (尽管我不知道如何使用点阵来做到这一点。)您可以通过使用灰度来实现可读的模式,请参阅
levelplot() 中的
。col.regions
参数Using more than two patterns (e.g. 45° and 135° oriented lines with different densities) would be confusing, IMO. (Notwithstanding the fact that I don't know how we could do that using lattice.) You can achieve a readable pattern by using grey scale, see the
col.regions
argument inlevelplot()
.