【问题标题】:R - ggplot - Rounded extremity for geom_barR - ggplot - geom_bar 的圆形末端
【发布时间】:2015-07-02 23:23:15
【问题描述】:

这是我的条形图的一个简单示例:

x <- data.frame(aa=c(0.2,0.6,0.1), dd = c(1,2,3))
x <- melt(x, "dd")
y <- data.frame(bb=c(0.4,0.5), dd = c(1,2))
y <- melt(y, "dd")
z <- data.frame(cc=c(0.5,0.25,0.1,0.05), dd = c(1,2,3,4))
z <- melt(z, "dd")

x=rbind(x,y,z)

col=c("white","grey","blue","white","red","white","green","blue","green")
ggplot(x, aes(x = variable, y = value)) + geom_bar(stat = "identity", fill = col)

我想知道是否有办法让我的条形结束,比如 lineend 选项 (http://sape.inf.usi.ch/quick-reference/ggplot2/lineend) ?

【问题讨论】:

  • 我对此表示怀疑,想看看有没有人知道这个问题的解决方案。
  • 在 barplot 中,您需要比较不同条形的高度。因此,边缘需要尽可能直。美学不是唯一要考虑的事情。绘图的目的不同。
  • 使用ggbio packageIdeogram函数
  • 或者这里是一个起点:ggplot(x, aes(x=variable, y=value)) + geom_path(size=10, lineend="round",col=col)
  • @JustinB 如果您知道如何使用geom_path() 制作圆角,您介意发布答案吗?我很好奇它是怎么出来的。

标签: r ggplot2 geom-bar


【解决方案1】:

这是一个带有圆形末端的条形示例,与 geom_line (geom_path) 一起使用,作为一个最小示例。

df1 <- data.frame( x=c(1,1,2,2,3,3),
                   y=c(1,7,1,4,1,5),
                   chr=c("one","one","two","two","three","three") )

ggplot( df1, aes(x,y, col=chr) ) + geom_line( lineend="round", lwd=10 )

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 2022-09-30
    • 2023-03-13
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    相关资源
    最近更新 更多