Seite 1 von 1

Farblegende bei image()

Verfasst: Mi Aug 23, 2017 6:58 am
von janedoe
Guten Tag,

ich möchte gerne bei meiner Graphik eine dazu passende Farblegende anzeigen lassen. Anhand der Seiten, die ich mir im Internet ansah, finde ich das ganze allerdings sehr kompliziert und auch sehr fallspezifisch. Gibt es eine Möglichkeit, eine Legende anzeigen zu lassen, die die Farben des Graphen wiedergibt, ohne vorhin eigens eine eigene Funktion schreiben zu müssen? Meine derzeitige Plotroutine

Code: Alles auswählen

D<- matrix(runif(100, min=-6, max=15),nrow=4)
xaxis <- seq(1,4)
yaxis <- seq(1,50,2)
image(xaxis, yaxis, D, col=topo.colors(100))
Danke für eure Hilfe :geek:

glg JD

Re: Farblegende bei image()

Verfasst: Do Aug 24, 2017 6:49 pm
von EDi
Hier eine elegante ggplot2 Lösung mit viele Beispielen wie man die Farblegende ändern kann.

Code: Alles auswählen

D <- matrix(runif(100, min=-6, max=15),nrow=4)
library(ggplot2)
library(reshape2)


D_long <- melt(D)
p <- ggplot(D_long, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile()
p



p +
  scale_fill_gradient(low = 'white', high = 'red')
p +
  scale_fill_gradient(low = 'green', high = 'blue')

p +
  scale_fill_gradient2(low = 'green', mid = 'yellow', high = 'red')

p +
  scale_fill_gradient2(low = 'green', mid = 'yellow', high = 'red',
                       midpoint = median(D_long$value))

p + 
  scale_fill_gradientn(colors = c('red', 'blue', 'yellow', 'steelblue', 'green'))

library(viridis)
p +
  scale_fill_viridis()