2017-02-17 5 views
0

Я пытаюсь получить некоторые основные гистограммы для нескольких переменных. При запуске нескольких кодов я получаю выходные графики по желанию. Но для некоторых выход не является правильным, а графики моно-цветными (серый). Невозможно выяснить, какая именно ошибка. Я приложил вывод для второго графика. Пожалуйста, дайте мне знать, где я ошибаюсь. Я довольно новичок в программировании R.Не получается цвет в диаграммах R

Данные установить MD loooks как этот

State Year  Desc  Amt 
TN  2014  Won  158 
OK  2015  Lost 175 
WA  2013  Won  145 
OG  2015  Lost 174 
IL  2014  Won  165 

library(ggplot2) 

#Metric for AB */ 
AB <- ddply(MD,c("State","Year", "Desc"), 
      function (MD){data.frame( Total_Lo=nrow(MD), Total_Amt=sum(MD$Lo_Amt), Avg_Amt=mean(MD$Lo_Amt))}) 


#Loan Amount metric for States 
A <-ddply(AB,c("State", "Desc"), 
      function(AB){data.frame(Number_A=sum(AB$Total_Lo),Total_Amt_A=sum(AB$Total_Amt), Avg_Amt_A=sum(AB$Total_Amt)/sum(AB$Total_Lo))}) 

#Loan Amount Metric for Years 
B <-ddply(AB,c("Year" , "Desc"), 
      function(AB){data.frame(Number_B=sum(AB$Total_Lo),Total_B=sum(AB$Total_Amt),Avg_B=sum(AB$Total_Amt)/sum(AB$Total_Lo))}) 

#Getting proper output 
qplot(State, data = A, 
     fill=State, geom = "bar", 
     weight=Total_Amt_,ylab="Total Amount", 
     main = "Total Amount for all ") 

#Getting output but no color 
qplot(Year, data = B, fill=_Year, 
     geom = "bar",weight=Number_B,ylab="Total Count ", 
     main = " Number by Year") 

#No proper output 
qplot(State, data = AB, fill=Year, 
     geom = "bar",weight=Total_Number_Lo, 
     ylab="Total Number", main = "Number each state ") 
+0

Не воспроизводимый объект 'MD' отсутствует. Используйте 'dput (MD)' и вставьте результат – GGamba

+0

Я до сих пор не могу воспроизвести последний сюжет, и мне пришлось исправить некоторый код. Читайте о создании [замечательного, воспроизводимого примера в R] (http://stackoverflow.com/a/5963610/1261281) – GGamba

ответ

0

Вы должны дать ссылку на fill эстетическим, а затем присвоить цвет к нему через scale_fill_manual:

qplot(Year, data = B, fill='FILL_AES', 
     geom = "bar",weight=Number_B,ylab="Total Count ", 
     main = " Number by Year") + 
    scale_fill_manual(values = c('FILL_AES' = 'blue')) 

Обратите внимание, что qplot не предназначен для создания полноценных графиков, это просто для быстрого прототипирования и тестирования. Если вам необходимо настроить ваш график пожалуйста используют и узнать ggplot:

ggplot(B, aes(x = Year, y = Number_B)) + 
    geom_bar(stat = 'identity', fill = 'blue') + 
    ggtitle('Number by year') 
Смежные вопросы