gpt4 book ai didi

r - 如何在lines()中添加其他字符,例如箭头?

转载 作者:行者123 更新时间:2023-12-03 14:11:55 25 4
gpt4 key购买 nike

这个问题解释了如何使用lines()来制作不同的线型:How to define more line types for graphs in R?

但是,这只是行的间距和长度。我想绘制一条显示方向的线,所以像 ---->---->---->--- 这样的线型.是否可以用 lines() 绘制这样一条线? ?

最佳答案

您可以绘制虚线,然后使用 arrows 添加自定义间距的箭头。功能。例如:

假设您有两条曲线(例如,来自两个回归模型):

dat = data.frame(x = 0:20, y1 = 3*0:20 + 5, y2 = 0.5*(0:20)^2 - 2*0:20 + 3)

在 k 点插入这两条曲线:
k=100
di1 = as.data.frame(approx(dat$x,dat$y1, xout=seq(min(dat$x), max(dat$x), length.out=k)))
di2 = as.data.frame(approx(dat$x,dat$y2, xout=seq(min(dat$x), max(dat$x), length.out=k)))

绘制虚线:
plot(y ~ x, data=di1, type="l", lty=2, xlim=range(dat$x), ylim=range(c(dat$y1,dat$y2)))
lines(y ~ x, data=di2, type="l", lty=2, col="red")

在每十个点添加箭头:
n = 10
arrows(di1$x[which(1:nrow(di1) %% n == 0) - 1], di1$y[which(1:nrow(di1) %% n == 0) - 1],
di1$x[1:nrow(di1) %% n == 0], di1$y[1:nrow(di1) %% n == 0] - 0.01,
length=0.1)
arrows(di2$x[which(1:nrow(di2) %% n == 0) - 1], di2$y[which(1:nrow(di2) %% n == 0) - 1],
di2$x[1:nrow(di2) %% n == 0], di2$y[1:nrow(di2) %% n == 0] - 0.01,
length=0.1, col="red")

如果你打算经常这样做,你可以将上面的代码概括为一个函数,它在曲线上取点并用破折号和箭头绘制它们。

enter image description here

关于r - 如何在lines()中添加其他字符,例如箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com