线条的不同颜色,而不是 R 中的点

And*_*ndy 1 plot r

我有一个笛卡尔坐标数据集。我想制作一个基本的散点图,其中每个点都根据预设的颜色向量进行着色。这很容易通过以下示例实现。

# A hypothetical dataset
XCoords<-c(1,3,5,6,8)
YCoords<-c(3,9,4,3,4)

# Sorry for picking such ugly colors, its just an example
Colors<-c("#FDA75F","#F1E19D","#E5AC4D","#FDC07A","#FDB46C")

# Plot the scatter plot
plot(x=XCoords,y=YCoords,pch=16,col=Colors)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想使用 type="o" 或 type="b"(取决于系统)在点之间绘制一条线,则该线的颜色将默认为Colors向量中的第一种颜色。

# An example using type="o"
plot(x=XCoords,y=YCoords,pch=16,col=Colors,type="o")
Run Code Online (Sandbox Code Playgroud)

如果我希望线条是完全不同的颜色,例如黑色怎么办?换句话说,如何将连接点的线的颜色设置为独立于点的配色方案。

我专门在 base(没有 ggplot)中寻找解决此问题的方法,理想情况下,它不会要求我在两个单独的步骤中绘制线条和点(尽管如果这是唯一的方法,那也没关系)。

jor*_*ran 5

我认为正确的方法实际上是分两步完成:

plot(x=XCoords,y=YCoords,pch=16,col=Colors)
lines(x = XCoords,y=YCoords,col = "black")
Run Code Online (Sandbox Code Playgroud)

  • 另外,`plot(x=XCoords,y=YCoords,pch=16,col=Colors); 标准杆(新 = 真);plot(x=XCoords,y=YCoords,col="black", type="l")` 可能会起作用。 (2认同)