繁体   English   中英

现有图形上的 R 语言颜色编码点

[英]R Language Color Coding Points on Existing Graph

我正在关注 MITx:15.071x 在线分析边缘课程,我正在尝试确定如何为图表上的代码点着色。 我可以使用下面的第 1 行成功制作纬度和经度图。 但是,当我尝试第二行时,我只会得到一个空白图表。 当我将第 1 行的原始图形留在焦点上时,我无法在不将焦点返回到控制台的情况下输入任何代码,然后输入第 2 行并没有做任何事情。 我是 stackoverflow 和 R 的新手,所以任何见解都值得赞赏。 谢谢!

  1. plot(boston$LON, boston$LAT)

  2. points(boston$LON[boston$CHAS == 1], boston$LAST[boston$CHAS ==1], col = "blue", pch = 19)

函数points只能在先前调用函数plot使用,因此您可以按顺序调用以下

plot(mtcars$disp[mtcars$cyl==4],mtcars$mpg[mtcars$cyl==4],col='red',pch=16,ylim=range(mtcars$mpg),xlim=range(mtcars$disp))
points(mtcars$disp[mtcars$cyl==6],mtcars$mpg[mtcars$cyl==6],col='blue',pch=16)
points(mtcars$disp[mtcars$cyl==8],mtcars$mpg[mtcars$cyl==8],col='black',pch=16)

在此处输入图片说明

你也可以看看包ggplot2这使得这种事情更简单

library(ggplot2)
ggplot(data=mtcars,aes(x=disp,y=mpg,color=factor(cyl))) + geom_point()

在此处输入图片说明

以下是如何在一次绘图调用中执行此操作:

plot(boston$LON, boston$LAT, 
                   col=c("black", "blue")[ (boston$CHAS==1)+1 ] )

这使用由(boston$CHAS==1)从 FALSE/TRUE(或 {0,1})到 {1,2} 形成的逻辑向量的隐式强制(通过+1操作),然后用于从颜色向量。 此类颜色向量在 R 中称为调色板。 findInterval函数允许您紧凑地创建多值整数向量,该向量可以从更大的调色板向量中进行选择。

(你的方法应该成功地在第一行形成的图上绘制蓝点,但也许是“LAT”的拼写错误让你绊倒了?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM