r - 如何更改已与 R 中的对象一起保存的绘图中某些点的颜色?
问题描述
大家!
我正在处理一个 RMarkdown 文件。我在以前的块中绘制了一些东西并将该图保存在一个对象中,比如'img',因为我想在后续块中对该图做一些事情。如何在不更改任何其他内容的情况下更改“img”中某些点的颜色?或者我可以至少添加一些该颜色的新点来覆盖某些点吗?
我在网上找到的一些代码如下所示,但它对我不起作用。一直说“plot.new 还没有被调用”。作为 R 的初学者,恐怕我不明白为什么plot.new()在这种情况下是相关的。
img
points(x,y, col="black", psh=15, cex=2)
img <- recordPlot()
另外,我不确定这是修改不同块的情节的正确方法。如果有更好的方法,请告诉我!非常感谢!
解决方案
points()
如果您没有设置绘图窗口,则无法调用,这是plot.new()
可以做的。通常你不plot.new()
直接调用,其他一些函数(例如plot()
)在做其他事情之前调用它。
因此,这种绘制方式应该可以添加一些要点:
x <- rnorm(100)
y <- rnorm(100)
plot(x, y, col = "red") # implicit call to plot.new()
img <- recordPlot()
dev.off() # clears the display; not needed in RMarkdown
img # redraws the first plot
points(rnorm(100), rnorm(100), col = "green") # adds green points
更改点的颜色可能效果不佳,因为抗锯齿意味着旧颜色可能会泄漏。但是这个序列应该将原始点更改为绿色:
img
points(x, y, col = "green")
推荐阅读
- node.js - 避免在 node.js 中并行执行多个 cronjob
- ios - 如何在 iOS Podfile 中指定 flutter-ffmpeg 包?
- javascript - 在新的 Promise 什么也没做之后解决(console.log -> undefined)
- android - 如何处理同一位置标记上的点击事件
- c# - 使用 Entity Framework Core 检索数据时,我收到重复数据
- rest - 通过代理从 JBPM 调用 REST 服务
- java - 如何在使用 apache tika 文本解析时将文本编码更改为 utf-8(最专门用于 .txt 文件)
- python - 如何从字典内的嵌套列表中删除无关的方括号?
- ios - 如何在另一个 NavigationLink 中有一个 NavigationLink
- protocol-buffers - nanopb 在 protobuf 中的编译问题