在`R`中使用`ggplot2`制作的气泡图中去除气泡上的边缘

问题描述 投票:0回答:1

我有一个关于图表美观的问题。 我想删除图表上气泡的黑色边框,但将其保留在图例中。这可能吗?

下面是实际的图表和代码。

也可以是图形上的白色边框,以便人为去除。

library(ggplot2)
library(hrbrthemes)
library(viridis)
library(ggrepel) # Per evitare sovrapposizioni


# Crea il dataframe
data <- data.frame(
  Progetto = c("Progetto primo", "Progetto secondo", "Progetto terzo", "Progetto quarto", "Progetto quinto", 
               "Progetto sesto", "Progetto settimo", "Progetto ottavo", "Progetto nono", "Progetto decimo", 
               "Progetto undicesimo", "Progetto dodicesimo", "Progetto tredicesimo"),
  Impatto = c(2, 5, 3, 3, 8, 3, 5.5, 7, 4, 7, 6, 3, 7.5),
  `Difficoltà tecnica` = c(7.5, 3, 5, 8, 8, 5, 5, 8, 8, 6, 8, 10, 10),
  Durata = c(6.00, 3.00, 6.00, 6.00, 12.00, 6.00, 3.00, 6.00, 12.00, 12.00, 18.00, 24.00, 36.00)
)

# Visualizza il dataframe
print(data)


attach(data)



# Creazione del grafico a bolle
ggplot(data, aes(
  x = Impatto, 
  y = `Difficoltà.tecnica`, 
  size = Durata, # Rimosse le virgolette
  fill = Progetto, 
  label = Progetto
)) +
  geom_point(alpha = 0.7, shape = 21, color = "black") + # Sfere con bordi neri
  geom_text_repel(
    size = 3.5, 
    show.legend = FALSE, 
    box.padding = 0.7, # Spaziatura attorno all'etichetta
    point.padding = 0.7, # Spaziatura tra etichetta e punto
    max.overlaps = Inf # Evita di eliminare etichette
  ) +
  scale_size(range = c(3, 10), name = "Durata (Mesi)") + # Dimensioni delle sfere
  scale_fill_viridis(discrete = TRUE, option = "A", guide = FALSE) + # Palette Viridis senza legenda
  labs(
    title = "Diagramma a Bolle con Viridis",
    x = "Impatto",
    y = "Difficoltà Tecnica"
  ) +
  expand_limits(x = c(0, 11), y = c(4, 11)) + # Estendi i limiti degli assi per evitare tagli
  theme_ipsum() + # Tema simile al tuo esempio
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.title = element_text(size = 12)
  )

enter image description here

r ggplot2 viridis
1个回答
0
投票

您可以覆盖图例中的美感。这是一个使用

mtcars
的简单示例,其中我使颜色与填充匹配,但将图例中的颜色覆盖为黑色:

ggplot(mtcars, aes(wt, mpg, fill = factor(cyl))) +
  geom_point(aes(color = factor(cyl)), shape = 21) +
  guides(fill = guide_legend(override.aes = list(color = "black")))

enter image description here

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.