Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
104 views
in Technique[技术] by (71.8m points)

r - How to insure proper alignment for two layer geom_point?

I am struggling to plot circles in a ggplot exactly on top of each other.

Here is the plot code:

xx = ggplot(dfm2, aes(x = variable, y = tax)) + 
      geom_point(aes(size = sqrt(value),color = phyla), shape = 21) + 
      scale_size_continuous(limits = c(0, 35), range = c(1,20)) + 
      theme(legend.key=element_blank(), 
            axis.text.x = element_text(colour = "black", size = 12, angle = 90, vjust = 0.3, hjust = 1), 
            axis.text.y = element_text(colour = "black", face = "bold", size = 8), 
            legend.text = element_text(size = 10, face ="bold", colour ="black"), 
            legend.title = element_text(size = 12, face = "bold"), 
            panel.background = element_blank(), panel.border = element_rect(colour = "black", fill = NA, size = 1.2), 
            legend.position = "right") 
    
    xx

My data frame:

dfm2 <- structure(list(tax = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 
4L, 5L, 5L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 1L, 1L, 2L, 
2L, 3L, 3L, 4L, 4L, 5L, 5L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 
5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L, 6L, 6L, 7L, 7L, 
8L, 8L, 9L, 9L, 10L, 10L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 
10L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L, 11L, 11L, 12L, 
12L, 13L, 13L, 11L, 11L, 12L, 12L, 13L, 13L, 11L, 11L, 12L, 12L, 
13L, 13L, 11L, 11L, 12L, 12L, 13L, 13L, 14L, 14L, 14L, 14L, 14L, 
14L, 14L, 14L, 15L, 15L, 16L, 16L, 15L, 15L, 16L, 16L, 15L, 15L, 
16L, 16L, 15L, 15L, 16L, 16L, 17L, 17L, 18L, 18L, 17L, 17L, 18L, 
18L, 17L, 17L, 18L, 18L, 17L, 17L, 18L, 18L, 19L, 19L, 20L, 20L, 
19L, 19L, 20L, 20L, 19L, 19L, 20L, 20L, 19L, 19L, 20L, 20L, 21L, 
21L, 21L, 21L, 21L, 21L, 21L, 21L, 22L, 22L, 22L, 22L, 22L, 22L, 
22L, 22L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 24L, 24L, 24L, 
24L, 24L, 24L, 24L, 24L), .Label = c("Clavulina", "Cortinarius", 
"Piloderma", "Russula", "Xerocomellus", "Atheliaceae", "Boletaceae", 
"Clavulinaceae", "Cortinariaceae", "Thelephoraceae", "Boletales", 
"Cantharellales", "Russulales", "Cenococcum", "Cladophialophora", 
"Elaphomyces", "Elaphomycetaceae", "Herpotrichiellaceae", "Chaetothyriales", 
"Eurotiales", "Helotiaceae", "Pezizales", "Sordariales", "Umbelopsidales"
), class = "factor"), test = structure(c(1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("g", 
"f", "o"), class = "factor"), phyla = c("Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Dothideomycetes", "Dothideomycetes", 
"Dothideomycetes", "Dothideomycetes", "Dothideomycetes", "Dothideomycetes", 
"Dothideomycetes", "Dothideomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Leotiomycetes", "Leotiomycetes", 
"Leotiomycetes", "Leotiomycetes", "Leotiomycetes", "Leotiomycetes", 
"Leotiomycetes", "Leotiomycetes", "Pezizomycetes", "Pezizomycetes", 
"Pezizomycetes", "Pezizomycetes", "Pezizomycetes", "Pezizomycetes", 
"Pezizomycetes", "Pezizomycetes", "Sordariomycetes", "Sordariomycetes", 
"Sordariomycetes", "Sordariomycetes", "Sordariomycetes", "Sordariomycetes", 
"Sordariomycetes", "Sordariomycetes", "Umbelopsidomycetes", "Umbelopsidomycetes", 
"Umbelopsidomycetes", "Umbelopsidomycetes", "Umbelopsidomycetes", 
"Umbelopsidomycetes", "Umbelopsidomycetes", "Umbelopsidomycetes"
), phyla1 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", 
"Eurotiomycetes", "Eurotiomycetes", "Eurotiomycetes", NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Leotiomycetes", 
"Leotiomycetes", "Leotiomycetes", "Leotiomycetes", "Leotiomycetes", 
"Leotiomycetes", "Leotiomycetes", "Leotiomycetes", NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA), phyla2 = c(NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes", "Agaricomycetes", "Agaricomycetes", "Agaricomycetes", 
"Agaricomycetes&quo

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'm seeing the same behaviour in R on Windows when plotting to the screen. However, I've found that the problem doesn't occur in the file saved using ggsave(). This might be an option for your use case.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...