Изменение цвета по умолчанию при использовании функции plot в пакете mixtools R
У меня проблема с графиком при использовании mixtools
Используя следующий код R
require(mixtools)
x <- c(rnorm(10000,8,2),rnorm(10000,18,5))
xMix <- normalmixEM(x, lambda=NULL, mu=NULL, sigma=NULL)
plot(xMix, which = 2, nclass=25)
Я получаю хорошую гистограмму с наложением 2 нормальных кривых по модели.
Проблема с цветами по умолчанию (т.е. красным и зеленым), которые мне нужно изменить, чтобы публикация была черной и серой.
Один способ, которым я думал сделать это, был первым, чтобы произвести гистограмму
hist(xMix$x, freq=FALSE, nclass=25)
и затем добавьте линии, используя функцию "кривой".
....... но я заблудился и не смог решить
Буду благодарен за любые указатели или реальное решение
Спасибо
PS. Обратите внимание, что есть альтернативный способ обойти эту проблему с помощью ggplot: любые предложения о том, как я могу построить данные типа mixEM с помощью ggplot2, но по разным причинам мне нужно продолжать использовать базовую графику
2 ответа
Вы также можете редактировать цвета напрямую, используя аргумент col2 в функции построения графиков mixtools
Например
plot(xMix, which = 2, nclass=25, col2=c("dimgrey","black"))
Немного подумав о проблеме, мне удалось перефразировать проблему и задать вопрос более прямым образом
Использование пользовательских функций в функции "кривой" в R-графике
это дало два хороших решения о том, как использовать функцию "кривой" для рисования нормальных распределений, полученных при моделировании смеси.
поэтому общий ответ заключается в том, чтобы использовать функцию "Hist" для рисования гистограммы необработанных данных, а затем функцию "Curve" (включающую функцию sdnorm) для рисования каждого нормального распределения. Это дает полный контроль над цветами (и, возможно, любым другим графическим параметром).
И не забывать - это то, где я получил код для функции sdnorm - и другие полезные идеи
Любые предложения о том, как я могу построить данные типа mixEM, используя ggplot2
Как всегда, спасибо Stackru и авторам, которые предоставляют такие полезные советы.