2015-05-31 3 views
-1
library(RMySQL) 
library(plotrix) 
con <- dbConnect(MySQL(), 
       user = 'root', 
       password = 'password', 
       host = 'localhost', 
       dbname='testtable1') 
rs = dbSendQuery(con, " 

       SELECT `Answer` 
       FROM `ams` 
       WHERE `QuestionText` = 'Year of Manufacture' 


       ") 
myData = fetch(rs,n=-1) 

attach(myData) 
count <- table(myData) 

percentlabels<- round(100*count/sum(count), 1) 
pielabels<- paste(percentlabels, "%", sep="") 


pie(count, main="pie chart") 
legend('topright', legend=sapply(percentlabels, as.expression), fill=factor(count)) 
}) 

Я создал круговую диаграмму нескольких дат. В легенде я хотел бы включить процентные значения.R цвета легенд не соответствуют круговым диаграммам

Проблема, с которой я сталкиваюсь, заключается в том, что цвета в легенде не соответствуют цветам в круговой диаграмме. Кроме того, мне бы хотелось, чтобы процентным значениям предшествовал символ процента (%), если это возможно. Вот как мой график выглядит так далеко:

enter image description here

+1

Я предложил ответ ниже, но позвольте мне предложить вам пойти с гистограммой вместо круговой диаграммы. Мы обрабатываем высоту лучше, чем углы, и диаграмма не передает различий так же четко, как график штрихов. Другой альтернативой было бы проверить библиотеку вафель в R и сделать участок вафли. –

ответ

1

Я вижу две ошибки в коде:

1) в заявлении легенды, то есть percentlabels, где она должна быть pielabels.

2) вы должны установить вектор цветов и называть его как в заявлении пирога, так и в легенде.

Cols<-c("red", "green", "blue") 
pie(count, main="Pie Chart", col=Cols) 
legend('topright', legend=sapply(pielabels, as.expression), fill=Cols) 

Я нахожусь на своем iPad, поэтому не могу проверить его, но это должно сделать это.

См. http://www.theanalysisfactor.com/r-tutorial-part-14/ за хороший учебник.

Смежные вопросы