gpt4 book ai didi

r - 带误差线的散点图

转载 作者:行者123 更新时间:2023-12-02 04:32:22 35 4
gpt4 key购买 nike

如何在 R 中生成以下图表?图中显示的点是平均值,它们的范围对应于最小值和最大值。我有两个文件中的数据(下面是一个例子)。

x   y
1 0.8773
1 0.8722
1 0.8816
1 0.8834
1 0.8759
1 0.8890
1 0.8727
2 0.9047
2 0.9062
2 0.8998
2 0.9044
2 0.8960
.. ...

enter image description here

最佳答案

首先:R 无法“开箱即用”地绘制错误栏,这是非常不幸和令人惊讶的。

这是我最喜欢的解决方法,优点是您不需要任何额外的包。诀窍是绘制箭头 (!) 但用小水平条代替箭头 (!!!)。这个不太直接的想法来自 R Wiki Tips并在此处作为已解决的示例进行复制。

假设您有一个“平均值”向量 avg和另一个“标准差”向量sdev , 它们的长度相同 n .让我们让横坐标只是这些“测量”的数量,所以 x <- 1:n .使用这些,这里是绘图命令:

plot(x, avg,
ylim=range(c(avg-sdev, avg+sdev)),
pch=19, xlab="Measurements", ylab="Mean +/- SD",
main="Scatter plot with std.dev error bars"
)
# hack: we draw arrows but with very special "arrowheads"
arrows(x, avg-sdev, x, avg+sdev, length=0.05, angle=90, code=3)

结果是这样的:

example scatter plot with std.dev error bars

arrows(...)函数 length=0.05是以英寸为单位的“箭头”的大小,angle=90指定“箭头”垂直于箭杆,特别直观 code=3参数指定我们要在箭头的两端绘制一个箭头。

假设 sdev,对于水平误差线,以下更改是必要的矢量现在包含 x 中的错误值和 y值是纵坐标:

plot(x, y,
xlim=range(c(x-sdev, x+sdev)),
pch=19,...)
# horizontal error bars
arrows(x-sdev, y, x+sdev, y, length=0.05, angle=90, code=3)

关于r - 带误差线的散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514040/

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