ggplot и номера осей и метки

я попытался построить следующий образец графика (см.Вот для примера цветового круга CIELAB). Он почти закончен, но есть еще небольшие проблемы (см.демонстрация): - числа на оси (числа, не знаю, как это называется на английском языке) должны быть непосредственно на оси x / y (x = 0 и y = 0). в данный момент я использую hline и vline, чтобы «добавить» ось. Есть ли способ переместить всю ось? - метки оси находятся рядом с осью, но должны быть в конце оси, как на образце изображения. Я не уверен, есть ли решение для этого. Пытался найти решение в книгах Уикхема и Чанга, но не получилось. не уверен, что такой сюжет возможен с ggplot2.

Извините за ссылки, как новый пользователь, я не могу публиковать изображения :(

Большое спасибо, Саймон!

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)

Ответы на вопрос(2)

Ваш ответ на вопрос