В настоящее время я использую пакет ggplot для построения гистограммы нормальных переменных с наложением плотности N (0, 1). Я очень новичок в этом пакете, и код, который я использую,
x = rnorm(1000)
qplot(x, geom = 'blank') +
geom_histogram(aes(y = ..density.., colour = 'Histogram'), legend = FALSE,
binwidth = 0.5, fill = "blue") +
stat_function(fun = dnorm, aes(colour = 'Density'))+
scale_x_continuous('x', limits = c(-4, 4))+
opts(title = "Histogram with Overlay")+
scale_colour_manual(name = 'Legend', values = c('darkblue', 'red')) +
scale_y_continuous('Frequency')+
opts(legend.key=theme_rect(fill="white",colour="white"))+
opts(legend.background = theme_rect())
Этот код создает следующую диаграмму. Как изменить легенду, чтобы линия, представляющая гистограмму, была заменена заполненным синим прямоугольником (который представляет столбцы гистограммы)? Спасибо!
colour='black'
кgeom_histogram
за пределамиaes
вернет линии на столбцах, но добавит диагональную линию в легенде. Есть две легенды, потому что именно так вы получаете то, что описали в ggplot2, конец истории. Если вам нужен очень точный контроль над легендами, придерживайтесь базовых функций построения графиков. ggplot2 сопротивляется вам здесь, потому что вы пытаетесь создать, возможно, плохую легенду или, по крайней мере, ненужную, согласно философии, лежащей в основе ggplot2. 17.07.2011theme(legend.background = elemenet_blank())
, должно бытьelement_blank
25.11.2013