Ustaw różne pozycje etykiet osi i znaczników w wykresie słupkowym

Chciałbym wyrównać / przesunąć oś x i związane z nią znaki kleszczy na wykresie słupkowym. Powinno to być proste, ale mam problem ze znalezieniem odpowiedzi. Poniżej znajdują się przykładowe dane z 24 kategoriami.

xval = c(1:24)
count = c(0.03,0.03,0.08,0.06,0.11,0.4,0.3,0.5,0.5,0.6,0.4,0.1,0.1,0.4,0.2,0.1,0.06,0.05,0.03,0.02,0.01,0.03,0.01,0.02)
df = as.data.frame(cbind(xval, count))

Mogę łatwo utworzyć wykres słupkowy ze znacznikami wyrównania wyrównanymi na środkowych punktach paska, używając poniższego kodu:

mp <- barplot(df$count, space=0, axes=FALSE) 
axis(side=2, pos=-0.2)
axis(side=1, at =mp, labels=df$xval)

Mogę także przesunąć całą oś X (etykiety i znaczniki), aby wyrównać z zewnętrzną powierzchnią słupków, korzystając z poniższego (chociaż teraz nie jest możliwe włączenie ostatniego pręta do osi):

axis(side=1, at =mp-0.5, labels=df$xval)

Chociaż chciałbym, aby oś x i związane z nimi znaczniki były wyrównane z granicami pręta (tj. Znacznik zaznaczenia po obu stronach paska zamiast w środku), chcę, aby etykiety osi X pozostały na środkowych punktach pręta . Czy istnieje łatwy sposób na osiągnięcie tego celu?

questionAnswers(1)

yourAnswerToTheQuestion