Questo è il valore più vicino che potrei ottenere nella figura di esempio. Non è molto più di un miglioramento oltre a quello che hai già ordinato, ma mette meno enfasi sui bordi della barra bianca sullo sfondo grigio.
library(ggplot2)
p <- ggplot(DF1, aes(x = Rank, y = value, group = variable))
p <- p + geom_bar(stat = "identity", position = "stack", lwd = 1.5,
width = 0.5, colour = "white", fill = "black")
p <- p + theme_classic()
p <- p + theme(axis.text.x = element_text(angle = 90, vjust = 0.5))
p
che produce:

Se si desidera mantenere lo sfondo grigio è possibile scoprire esattamente che cosa sfumatura di grigio che è e utilizzare il colore per la linea durante la rimozione delle griglie di fondo (questa non è la tonalità giusta).
p <- ggplot(DF1, aes(x = Rank, y = value))
p <- p + geom_bar(stat = "identity", position = "stack", lwd = 1.5,
width = 0.5, colour = "grey", fill = "black")
p <- p + theme(panel.grid = element_blank())
p
Un problema con questa soluzione è che molto piccoli gruppi non saranno visibili (ad esempio, quando Grado = 4 variabile F3 = 10; questo piccolo valore è completamente coperto dalla barra contorno bianco).
I suoi dati di esempio:
DF1 <- structure(list(Rank = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L,
3L, 4L), variable = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L), .Label = c("F1", "F2", "F3"), class = "factor"),
value = c(500L, 400L, 300L, 200L, 250L, 100L, 155L, 90L,
50L, 30L, 100L, 10L)), row.names = c(NA, -12L), .Names = c("Rank",
"variable", "value"), class = "data.frame")
Nel 'geom_bar', è possibile aggiungere altri argomenti, come ad esempio' 'color' e lwd'. –
Il colore non è il problema, lo spazio tra le pile non può essere risolto con 'lwd' – Soheil
Hai provato almeno? –