R:在线条图中,你如何控制每个点(而不是每个系列)使用的角色?

Posted

技术标签:

【中文标题】R:在线条图中,你如何控制每个点(而不是每个系列)使用的角色?【英文标题】:R: in a line plot, how do you control the character used for each point (rather than for each series)? 【发布时间】:2015-10-15 02:35:40 【问题描述】:

我正在制作包含多条线/系列的线图。我希望一行/系列中的每个点都有不同的字符。

我目前的代码是这样的:

x <- rep(1:5, 4) * rep(rnorm(5), each = 4)
x <- matrix(x, 5, 4)
matplot(x, type = "b", pch = 1:4)

但是,“pch”仅允许您更改用于一个系列中所有点的字符。有没有办法单独控制每个点?

非常感谢!

【问题讨论】:

【参考方案1】:

plot 允许在系列中的每个点使用不同的 pchmatplot 没有(它只允许每个系列使用不同的)。 所以你将不得不使用plot/points/lines 而不是matplot

例如

xs <- 1:nrow(x)
cols <- c('blue', 'red', 'black', 'green', 'yellow')

# set up empty plot with the right limits
matplot(x, type='n')
for (i in 1:ncol(x))
  lines(xs, x[, i], type='b', pch=(i - 1)*(1:nrow(x))+1, col=cols[i])

【讨论】:

【参考方案2】:

如果你尝试一个简单的例子:plot(x=c(1,2,3,4),y=c(5,5,5,5),type="b",pch=c(1,2,3,4))

您会看到每个点都有不同的 pch。 因此,如果您希望每个点和每条线都有不同的 pch,请尝试制作一个矩阵,其中线将代表每条线的 pch。

在@mathematical.coffee 回答之后,我阅读了 ?matplot。 不幸的是,你不能为每个点设置不同的 pch,但对于 matplot 中的每个图,你不能有不同的 pch。

【讨论】:

非常感谢您帮我解决这个问题 :)

以上是关于R:在线条图中,你如何控制每个点(而不是每个系列)使用的角色?的主要内容,如果未能解决你的问题,请参考以下文章

Java jFrame画布绘制点而不是线条

如何使 3D python 散点图中的数据点看起来像“圆盘”而不是“球体”

如何手动为散点图中的每个点着色?

R语言使用ggradar包可视化基本雷达图(radar chart蜘蛛图spider plot)每个多个数据对象的雷达图自定义雷达图的线条类型线条宽度数据点大小色彩等

如何更改 highcharts 柱形图中每个类别的颜色?

指定散点图中每个点的颜色(matplotlib)