【问题标题】:ggplot overlay matrix and scatterplotggplot 叠加矩阵和散点图
【发布时间】:2018-03-23 03:07:20
【问题描述】:

我想绘制一个连续值矩阵,然后在正方形子集中绘制点。理想情况下,每个正方形内的点应该足够小,以便在背景中仍然可以看到正方形的颜色。示例代码:

ex <- matrix( c(1,2,3,2,3,4,3,4,5),nrow=3)
p <- ggplot(melt(ex), aes(x=Var1,y=Var2, fill=value)) + geom_raster()
x <- c(1,3)
y <- c(2,3)
pts <- cbind(x,y)
p <- p + ...?

ggplot 是否需要使用 geom_raster 以外的东西或点需要使用 cbind 都没有关系。我只想能够在每个正方形中看到“ex”矩阵的颜色,然后在两个特定正方形中看到黑点。

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    我并不完全清楚你想要绘制什么。也许模拟情节会有所帮助。

    除此之外,你可以做这样的事情。

    ex <- matrix( c(1,2,3,2,3,4,3,4,5),nrow=3)
    
    # Wide to long
    df <- data.frame(ex) %>%
        rowid_to_column("y") %>%
        gather(x, value, -y) %>%
        mutate(x = sub("X", "", x))
    
    # Plot
    ggplot(df, aes(x, y)) +
        geom_tile(aes(fill = value)) +
        geom_point(data = subset(df, x %in% c(1, 3) & y %in% c(2, 3)), size = 3)
    

    【讨论】:

    • 这正是我想要的。谢谢!
    • 很高兴帮助@MarkBower。
    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2018-08-30
    • 1970-01-01
    相关资源
    最近更新 更多