2017-07-21 4 views
0

Ich zeichne ein Diagramm, aber die Reihenfolge der Faktor Ebenen, die ich zuweisen, sowie die Funktion scale_fill_manual() werden von ggplot ignoriert.Factor Levels und scale_fill_manual() Argumente ignoriert in ggplot R

Der Datensatz ist der Deutsch Kreditdatenmenge, die in der UCI Maschinelles Lernen Repository und der Code ist folgendes zu finden ist:

german_fct_train$Status_of_existing_account <- factor(german_fct_train$Status_of_existing_account , 
          levels = c("No_Account" , "less_than_0" , "between_0_and_200" , "greater_equal_to_200")) 
german_fct_train$Class <- factor(german_fct_train$Class, levels = c("1" , "0")) 

ggplot(german_fct_train, aes(F_Credit_history, F_Status_of_existing_account)) + 
    geom_jitter(aes(color = Class), size = 3, alpha = 0.5) + theme_economist() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) + ggtitle("Status of existing checking account 
    and Credit History by Class") + 
    xlab("Credit History") + ylab("Status of existing account") + 
    labs(fill="Class") + 
    scale_fill_manual(limits= c("1", "0"), labels = c("Bad Customers" , "Good Customers"), values = c("red", 'blue')) 

enter image description here

Ihr Rat geschätzt wird.

+0

versuchen Sie stattdessen mit 'scale_colour_manual' – bouncyball

Antwort

0

In Ihrem Beispiel würde ich empfehlen, die Class außerhalb von ggplot zu factorisieren und dann die scale_fill_manual ohne Hinzufügen von Etiketten, die höchstwahrscheinlich das Problem verursacht. Hier ist ein Beispiel mit mtcars

data("mtcars") 
library(ggplot) 
ggplot(mtcars, aes(factor(carb), factor(gear))) + 
    geom_jitter(aes(color = factor(gear)), size = 3, alpha = 0.5) + 
    scale_fill_manual(values = c("red", 'blue', 'darkgoldenrod'))+ 
    xlab("Credit History") + ylab("Status of existing account") + 
    labs(x="Credit History", y="Status of existing account", 
     title = "Status of existing checking account and Credit History by Class") + 
    theme_light() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) 

Auch ich auch empfehlen würde den labs Anruf anstelle von xlab, ylab und ggtitle. Schließlich hat ggplot die Tendenz, am Ende des Anrufs theme zu mögen, was ebenfalls einige Fehler verursachen kann.

Verwandte Themen