Zmień kolor punktu i kolor ramki/elipsy wokół punktów


Chcę zacząć od stwierdzenia, że ​​jestem początkującym użytkownikiem języka R, a zwłaszcza tej witryny, więc jeśli chcesz coś tutaj wyjaśnić, daj mi znać! Jeszcze tego nie rozumiem, więc nie krępuj się, aby jak najbardziej „ogłupiać”.
P: Chcę stworzyć grafikę PCA reprezentującą dwie grupy (w tym przypadku widoki). Chcę też narysować wokół nich elipsy lub ramki.
Na szczęście wykonałem to zadanie za pomocą ggplot2!
Nie mogę jednak zmienić kolorów kropek lub elips/ramek poza wartościami domyślnymi.
Czy mógłbyś zaoferować pomoc w tej sprawie?
Zobacz przykładowy kod poniżej, który jest tylko tradycyjnym zestawem danych tęczówki często używanym w przykładach PCA.
###load in plackages###
library(ggbiplot)
library(ggfortify)
library(cluster)#my actual data is very similar to the iris data, though in my data the "Species" column is first
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
df <- iris[c(1, 2, 3, 4)]
autoplot(prcomp(df))
autoplot(prcomp(df), data = iris, colour = 'Species') #pca graph with species depicted in different colors

autoplot(prcomp(df), data = iris, colour = 'Species', shape='Species', frame=T)

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zrobiłem to samo PCA
data<-iris
df<-iris[c(1, 2, 3, 4)]
PC<-prcomp(df)
PCi<-data.frame(PC$x,Species=data$Species)

Teraz robisz zwykły wykres i zmieniasz parametry
ggplot
jak zwykle
ggplot(PCi,aes(x=PC1,y=PC2,col=Species))+
geom_point(size=3,alpha=0.5)+ #Size and alpha just for fun
scale_color_manual(values = c("#FF1BB3","#A7FF5B","#99554D"))+ #your colors here
theme_classic()

https://i.stack.imgur.com/RMdrH.png
Sprawdź także
scale_fill_manual
dla ramki

EDIT

Pomyślałem, że dodanie ramki powinno być łatwiejsze, sprawdź tutaj

https://stats.stackexchange.co ... plot2
https://stats.stackexchange.co ... lot2i tu

ggplot2: geom_polygon bez wypełnienia
https://coderoad.ru/25449093/
Nadal uważam, że ggbiplot powinien obsługiwać
scale_color_manual
i
scale_fill_manual
, czy mógłbyś zaktualizować swoje pytanie, które nie działa?
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Niesamowity sos!
Odpowiedź nie była całkowicie ukryta w tych przykładach, ale stwierdziłem, że scale_color_manual i scale_fill_manual zawierają dokładnie to, czego chciałem: zmień ramki na dowolny kolor, jaki można sobie wyobrazić!
#using autoplot from earlier, I placed it into an object
a<-autoplot(prcomp(df), data = iris, colour = 'Species', shape='Species', frame=T)
#then I added on scale_color_manual and scale_fill_manual with the wacky color combos that would never be publishable
a + scale_fill_manual(values = c("#FF1BB3","#A7FF5B","#99554D")) + scale_color_manual(values = c("black","white","orange"))

WYKRES PCA W RÓŻNYCH KOLORACH
http://i.stack.imgur.com/U10mX.png
Wielkie dzięki za pomoc! Bardzo wdzięczny, że ta mała (a raczej wyjątkowo duża) grupa jest tutaj!

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się