добавить легенду в гистограмму (решетку) - PullRequest
3 голосов
/ 25 марта 2011

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

Проблема, с которой я столкнулся, заключается в том, что я не могу добавить легенду на диаграмму.

Кроме того, я хотел бы добавить в верхней части каждого столбца номер частоты.

Не могли бы вы мне помочь, пожалуйста?

library(lattice)
histogram(~ job | sex, col=rainbow(7), main="", xlab = "", ylab="(%)")

PS Я пытаюсь с функцией легенды, но яполучить эту ошибку:

Ошибка в strwidth (легенда, единицы = "пользователь", cex = cex): plot.new еще не был вызван

1 Ответ

3 голосов
/ 26 марта 2011

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

Я протестировал вариант выше с набором данных singer, но это не удалось.Этот пример работает после добавления столбца Freq в набор данных Singer:

singer$Freq <- ave(singer$height, singer$voice.part, FUN=length)
barchart(Freq ~ height, groups = voice.part,
        data = singer, 
        stack = TRUE, horizontal=FALSE,
   par.settings=list(superpose.polygon=list(col=rainbow(8))), 
   auto.key=list(x = .6, y = .7, corner = c(0, 0)))
...