ggplot und Achsnummern und Beschriftungen

Ich habe versucht, das folgende Beispieldiagramm zu erstellen (sieheHier ein Beispiel für ein CIELAB-Farbrad). Es ist fast fertig, aber es gibt noch einige kleine Probleme (sieheDemo): - Die Zahlen auf der Achse (die Zahlen, nicht sicher, wie es auf Englisch heißt) sollten direkt auf der x / y-Achse liegen (x = 0 und y = 0). im moment benutze ich hline und vline um die achse "hinzuzufügen". Gibt es eine Möglichkeit, die gesamte Achse zu bewegen? - Die Achsenbeschriftungen befinden sich neben der Achse, sollten sich jedoch wie im Beispielbild am Ende der Achse befinden. Ich bin mir nicht sicher, ob es dafür eine Lösung gibt. Versuchte, die Lösung in den Büchern von Wickham und Chang zu finden, scheiterte aber. Ich bin mir nicht sicher, ob ein solches Diagramm mit ggplot2 möglich ist.

Entschuldigung für die Links, als neuer Benutzer darf ich keine Bilder posten :(

Vielen Dank Simon!

library(ggplot2)
circleFun <- function(center = c(0,0),diameter = 1, npoints = 100){
  r = diameter / 2
  tt <- seq(0,2*pi,length.out = npoints)
  xx <- center[1] + r * cos(tt)
  yy <- center[2] + r * sin(tt)
  return(data.frame(x = xx, y = yy))
}

# sample data for yellow
colorvals <- data.frame(file = 'Yellow.csv', L = 88.94026, a = -9.8599137, b=88.77139)

# build the circles for the plot
r20 <- circleFun(center = c(0, 0), diameter = 40, npoints = 100)
r40 <- circleFun(center = c(0, 0), diameter = 80, npoints = 100)
r60 <- circleFun(center = c(0, 0), diameter = 120, npoints = 100)
r80 <- circleFun(center = c(0, 0), diameter = 160, npoints = 100)
r100 <- circleFun(center = c(0, 0), diameter = 200, npoints = 100)
r120 <- circleFun(center = c(0, 0), diameter = 240, npoints = 100)
dat <- rbind(r20, r40, r60, r80, r100, r120)

# plot the data
ggplot(data = dat, aes(x, y)) +
  geom_path() +
  geom_hline() +
  geom_vline() +
  theme(legend.position = c(1,0), legend.justification=c(1,0)) +
  xlab("a* (Grün/Rot)") +
  ylab("b* (Gelb/Blau)") +
  labs(colour="L*") +
  geom_point(data = colorvals, aes(x = a, y = b), size=3) +
  geom_text(data = colorvals, aes(x = a, y = b, label = gsub(".csv", "", file)), size = 3, vjust=0,hjust=1.2)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage