изменение цветов по умолчанию при использовании функции построения графика в пакете R mixtools

У меня проблема с графиком кривых при использовании 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, но по разным причинам мне нужно продолжать использовать базовую графику


person user2085797    schedule 03.04.2016    source источник


Ответы (2)


Вы также можете редактировать цвета напрямую, используя аргумент col2 в функции построения графика mixtools.

Например

plot(xMix, which = 2, nclass=25, col2=c("dimgrey","black"))
person John    schedule 12.07.2018

подумав над проблемой, мне удалось перефразировать проблему и задать вопрос более прямым образом

Использование пользовательских функций в функции кривой в R-графике

это дало два хороших решения о том, как использовать функцию «кривой» для рисования нормальных распределений, полученных при моделировании смеси.

поэтому общий ответ состоит в том, чтобы использовать функцию "hist" для построения гистограммы необработанных данных, а затем функцию "curve" (включающую функцию sdnorm) для построения каждого нормального распределения. Это дает полный контроль над цветами (и, возможно, любым другим графическим параметром).

И не забывайте - здесь я получил код функции sdnorm и другие полезные идеи.

Любые предложения о том, как я могу построить mixEM введите данные с помощью ggplot2

Как всегда, спасибо StackOverflow и участникам, которые дают такие полезные советы.

person user2085797    schedule 03.04.2016