在ggplot中的垂直条形图。

huangapple go评论64阅读模式
英文:

Vertical bars in ggplot

问题

我在R中有一个类似这样的数据框:

    X    L     U
    1    2     3
    2    1.5   5
    .....  
    3    1.2   3.4

对于X的每个数值,我想要绘制一个从Y=L到Y=U的垂直条形图。我可以在ggplot中如何实现这个?
英文:

I have a data frame in R like this:

X    L     U
1    2     3
2    1.5   5
.....  
3    1.2   3.4

For each value of X, I want to plot a vertical bar going from Y=L to Y=U. How can I do this in ggplot?

答案1

得分: 0

你可以使用 geom_segment 来实现这个目标。

library(ggplot2)

ggplot(df, aes(x=X)) +
  geom_segment(aes(xend=X, y=L, yend=U))

数据:

df <- data.frame(X=1:3, L=c(2,1.5,1.2), U=c(3,5,3.4))

在ggplot中的垂直条形图。


数据:

df <- data.frame(X=1:3, L=c(2,1.5,1.2), U=c(3,5,3.4))
英文:

You can use geom_segment for that.

library(ggplot2)

ggplot(df, aes(x=X)) +
  geom_segment(aes(xend=X, y=L, yend=U))

在ggplot中的垂直条形图。


Data:

df &lt;- data.frame(X=1:3, L=c(2,1.5,1.2), U=c(3,5,3.4))

答案2

得分: 0

也可以使用 `geom_tile()`:

    dat &lt;- data.frame(
      x = 1:10,
      l = rnorm(10, 2, 1),
      u = rnorm(10, 1)
    )
    
    library(ggplot2)
    
    ggplot(dat, aes(x = x, y = l, height = l + u)) +
      geom_tile(fill = '天蓝色', color = '古董白色') +
      ggthemes::theme_wsj() +
      labs(title = 'so#75578969')
英文:

Also with geom_tile():

dat &lt;- data.frame(
  x = 1:10,
  l = rnorm(10, 2, 1),
  u = rnorm(10, 1)
)

library(ggplot2)

ggplot(dat, aes(x = x, y = l, height = l + u)) +
  geom_tile(fill = &#39;skyblue&#39;, color = &#39;antiquewhite&#39;) +
  ggthemes::theme_wsj() +
  labs(title = &#39;so#75578969&#39;)

在ggplot中的垂直条形图。

huangapple
  • 本文由 发表于 2023年2月27日 17:57:06
  • 转载请务必保留本文链接:https://go.coder-hub.com/75578969.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定