Tekst toevoegen aan GGPLOT

(bijgewerkt)
Ik heb GGPLOT als deze, maar dan de X-asdatum geschaald:

g1 <- ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()

Boven twee balken (laten we zeggen VS2en IF, maar in mijn grafiek is het een datum) Ik wil een tekstlabel boven de balken op hoogte 13.000 plaatsen.

Ik heb veel dingen geprobeerd, maar dit is wat het dichtst in de buurt kwam:
Dit is wat ik in mijn grafiek heb geprobeerd met de datumas
g1 + geom_text(aes(as.Date("2014-10-05"), 13000), label="boat")

Maar dit voegt er slechts één toe aan de grafiek en zodra ik het probeer uit te breiden, bijvoorbeeld met

g1 + geom_text(aes(c(as.Date("2014-10-05"),as.Date("2014-10-20")) , 13000), label=c("boat", "train"))

Dan krijg ik de foutmelding:

FOUT: Esthetiek moet een lengte zijn, of dezelfde lengte als de
Datapro’s: C (AS.DATE (“2014-10-05”), AS.DATE (“2014-10-20”))

Ik heb ook geprobeerd de tekst en labels uit een dataframe (oefen) te lezen, waar ik dezelfde namen heb gebruikt als het oorspronkelijke perceel

g1 + geom_text(data=oefen, aes(x=newdat, y=Number, label=oefen$labs, fill=1))

Ik krijg de fout

FOUT: continue waarde geleverd aan discrete schaal

Ik heb veel andere oplossingen geprobeerd, maar kan het antwoord niet vinden. Wat mis ik?


Antwoord 1, Autoriteit 100%

Overweeg om annotate()te gebruiken om de tekst te plaatsen waar u maar wilt op een bepaalde locatie op de plot. Factorvariabelen, zoals in de duidelijkheidsfactor op de x-as, hebben een nummer voor elk niveau, dus u kunt dat nummer gebruiken om de tekst te lokaliseren. Ik neem aan dat datumvariabelen hetzelfde gebruik hebben.:

ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar() +
  annotate("text", x=8, y=13000, label= "boat") + 
  annotate("text", x = 4, y=13000, label = "ship")

BEWERKEN na COMMENT

Voor efficiëntie kun je de annotaties combineren, zoals deze:

ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar() +
  annotate("text", x = c(2,4,6,8), y=13000, label = c("two", "ship", "six", "boat"))

Antwoord 2

Probeer het volgende te gebruiken:
Tekst gebruiken na een cijfer of puntenVoor

Na gebruik in geom_text(paste0( procent, “%”)) zag het er zo uit
Na

Other episodes