使用R包mixtools的绘图功能时更改默认颜色

时间:2016-04-03 02:58:23

标签: r graphics mixture-model

使用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) 

然后使用&#34;曲线&#34;添加线条。功能

.......但是我迷路了,无法解决它

我会感激任何指针或实际的解决方案

感谢

PS。请注意,使用ggplot可以解决此问题: Any suggestions for how I can plot mixEM type data using ggplot2 但出于各种原因,我需要继续使用基本图形

2 个答案:

答案 0 :(得分:2)

您还可以使用mixtools绘图功能中的col2参数直接编辑颜色

例如

-include("mongoose_logger.hrl").

答案 1 :(得分:0)

更多地考虑问题,我设法改写问题并以更直接的方式提出问题

Using user-defined functions within "curve" function in R graphics

这为如何使用“曲线”函数绘制混合建模产生的正态分布提供了两个很好的解决方案。

因此,总体答案是使用“hist”函数绘制原始数据的直方图,然后使用“曲线”函数(包含sdnorm函数)绘制每个正态分布。这样可以完全控制颜色(可能还有任何其他图形参数)。

不要忘记 - 这是我获得sdnorm函数代码的地方 - 以及其他有用的见解

Any suggestions for how I can plot mixEM type data using ggplot2

一如既往地感谢StackOverflow和提供此类有用建议的贡献者。