gpt4 book ai didi

r - 使用文本而不是点获取 R 绘图类型 "b"

转载 作者:行者123 更新时间:2023-12-04 17:58:25 24 4
gpt4 key购买 nike

ggplot2 中有没有办法获得绘图类型“b”?见示例:

x <- c(1:5)
y <- x
plot(x,y,type="b")

理想情况下,我想用它们的值替换点,以获得类似于这个著名例子的东西:

alt text

编辑:
这里有一些示例数据(我想用绘图类型“b”在一个方面绘制每个“猫”):
df <- data.frame(x=rep(1:5,9),y=c(0.02,0.04,0.07,0.09,0.11,0.13,0.16,0.18,0.2,0.22,0.24,0.27,0.29,0.31,0.33,0.36,0.38,0.4,0.42,0.44,0.47,0.49,0.51,0.53,0.56,0.58,0.6,0.62,0.64,0.67,0.69,0.71,0.73,0.76,0.78,0.8,0.82,0.84,0.87,0.89,0.91,0.93,0.96,0.98,1),cat=rep(paste("a",1:9,sep=""),each=5))

问候,
穆萨

最佳答案

通过绘制没有任何内容的图来设置轴。

plot(x, y, type = "n")

然后使用 text使您的数据点。
text(x, y, labels = y)

您可以使用 lines 添加线段.
lines(x, y, col = "grey80")

编辑:完全没有在问题中提到 ggplot 。尝试这个。
dfr <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(dfr, aes(x, y)) +
geom_text(aes(x, y, label = y)) +
geom_line(col = "grey80")
p

另一个编辑:鉴于您的新数据集和请求,这就是您所需要的。
ggplot(df, aes(x, y)) + geom_point() + geom_line() + facet_wrap(~cat)

另一个编辑:我们开始处理一个真正的问题。就像“如何使线条不完全达到点”一样。

简短的回答是,这不是在 ggplot2 中执行此操作的标准方法。正确的方法是使用 geom_segment并在您的数据点之间进行插值。然而,这是相当多的努力,所以我建议一个更简单的软糖:在你的点周围画大的白色圆圈。这样做的缺点是它使网格线看起来很傻,所以你必须摆脱它们。
ggplot(df, aes(x, y)) + 
facet_wrap(~cat) +
geom_line() +
geom_point(size = 5, colour = "white") +
geom_point() +
opts(panel.background = theme_blank())

关于r - 使用文本而不是点获取 R 绘图类型 "b",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810927/

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