Spędziłem godziny przeglądając dokumentację i StackOverflow, ale wydaje się, że żadne rozwiązanie nie rozwiązuje mojego problemu. Podczas korzystania ggplot
nie mogę uzyskać prawidłowego tekstu w legendzie, mimo że znajduje się on w mojej ramce danych. Próbowałem scale_colour_manual
, scale_fill_manual
z różnymi wartościami, labels=
np c("T999", "T888")", "cols"
.
Oto mój kod:
T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)
ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) +
geom_point(size = 15, colour = "darkblue") +
geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) +
theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) +
xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) +
scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright")
Pomoc byłaby bardzo mile widziana!
ggplot
jest najbardziej zadowolony z (długa, nie szerokości), a także uzyskać poczucie różnicy między mapowanie sięaes
thetic do zmiennej waes
rozmowy vs. ustawienie go na zewnątrzaes
. Musisz miećmelt
swoje dane w długim formacie i zmapowaćcolour
(lubfill
) waes
odpowiedniej zmiennej.Odpowiedzi:
Wspomniany samouczek @Henrik jest doskonałym źródłem informacji o tworzeniu wykresów za pomocą
ggplot2
pakietu.Przykład z Twoimi danymi:
to skutkuje:
Jak wspomniał @ user2739472 w komentarzach: Jeśli chcesz zmienić tylko etykiety tekstu legendy, a nie kolory z domyślnej palety ggplot, możesz użyć
scale_color_hue(labels = c("T999", "T888"))
zamiastscale_color_manual()
.źródło
scale_color_hue(labels = c("T999", "T888"))
zamiastscale_color_manual()
Tytuły legend można oznaczyć według określonej estetyki .
Można to osiągnąć za pomocą funkcji
guides()
lublabs()
zggplot2
(więcej tutaj i tutaj ). Umożliwia dodawanie właściwości przewodnika / legendy przy użyciu estetycznego odwzorowania.Oto przykład wykorzystujący
mtcars
zestaw danych ilabs()
:Odpowiadając na pytanie PO za pomocą
guides()
:źródło
scale_ ..
lublabs
.scale_color_manual(title="...", ...)
. Widzę, że zmodyfikowałeś to, aby nawiązać do estetyki kolorówlabs()
. Oferuję swoje rozwiązanie jako alternatywę.