5

我正在使用线段来绘制线条,但我需要对线条类型进行更多控制。所以我正在使用 lty="1" 但我收到错误消息。我正在使用下面的代码。

segments(593, 20.65+.06, 593+3, 20.65+.06, col= "black", lty="1")

但我收到以下错误消息。

  Error in segments(593, 20.65 + 0.06, 593 + 3, 20.65 + 0.06, col = "black",  : 
  invalid line type: must be length 2, 4, 6 or 8

我只需要控制 lty() 中提到的线型。我该如何解决这个问题?

4

2 回答 2

6

您可以通过阅读来修复它?par

线型可以通过在一个小的内置线型表中给出索引来指定(1 = 实线,2 = 虚线等,参见上面的 lty)或直接作为开/关线段的长度。这是通过偶数(最多八个)字符的字符串完成的,即非零(十六进制)数字,它给出字符串中连续位置的长度。例如,字符串“33”指定三个单元开启,然后是三个关闭,“3313”指定三个单元开启,然后是三个关闭,然后是一个开启,最后是三个关闭。这里的“单位”(在大多数设备上)与 lwd 成比例,并且 lwd = 1 以像素或点或 1/96 英寸为单位。

所以,传递一个字符lty并不意味着你的想法。你可能只是想说lty = 1

于 2013-08-05T01:22:27.233 回答
1

我带着同样的错误信息来到这里,同时为多 (3) 行定义 lty:

legend(..., lty = c(1, "dashed", "dotdash"), ...)

通过使用相应的字符串键定义所有线型来解决此错误:

legend(..., lty = c("solid", "dashed", "dotdash"), ...)
于 2018-09-13T09:11:27.660 回答