Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 变线厚图_R_Plot - Fatal编程技术网

R 变线厚图

R 变线厚图,r,plot,R,Plot,有没有一种简单的方法可以在R中绘制变线厚图 我有一个数据集(约50k行),其中每个数据点都有一个关联的大小,我想将其绘制为线条。假设我的数据如下所示: library(data.table) data.table(x = 1:5, y = 1:5, thickness = c(1:4, NA)) # x y thickness #1: 1 1 1 #2: 2 2 2 #3: 3 3 3 #4: 4 4 4 #5: 5 5

有没有一种简单的方法可以在R中绘制变线厚图

我有一个数据集(约50k行),其中每个数据点都有一个关联的大小,我想将其绘制为线条。假设我的数据如下所示:

library(data.table)
data.table(x = 1:5, y = 1:5, thickness = c(1:4, NA))
#   x y thickness
#1: 1 1         1
#2: 2 2         2
#3: 3 3         3
#4: 4 4         4
#5: 5 5        NA
我希望实现以下目标:

plot(1:2, 1:2, lwd = 1, type = 'l', xlim = c(1,5), ylim = c(1,5))
lines(2:3, 2:3, lwd = 2)
lines(3:4, 3:4, lwd = 3)
lines(4:5, 4:5, lwd = 4)

我知道我可以在所有点上循环,只做我上面所做的,但我宁愿避免那种解决方案。

ggplot2解决方案:

library(data.table)
dt <- data.table(x = 1:5, y = 1:5, thickness = c(1:4, NA))

library(ggplot2)
ggplot(dt, aes(x, y, size=thickness)) + geom_path()
库(data.table)

dt太好了,这很简单:)似乎
ggplot
不喜欢最后一个
NA
(没什么大不了的,在那里添加任何值都很好。)
NA
被解释为不同段之间的界限。我认为这与基本绘图中的行为一致。