使用混合工具时,我在绘制曲线时遇到问题
使用以下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)
然后使用"curve"函数添加线条。
但我迷路了,无法解决
我将感谢任何指针或实际的解决方案
感谢
PS。请注意,使用ggplot可以解决此问题:关于如何使用ggplot2绘制mixEM类型数据的任何建议但由于各种原因,我需要继续使用基本图形
您也可以使用mixtools绘图函数中的col2参数直接编辑颜色
例如
plot(xMix, which = 2, nclass=25, col2=c("dimgrey","black"))
考虑了一下这个问题,我设法重新表述了这个问题,并以一种更直接的方式提出了这个问题
在";曲线";R图形中的功能
这提供了如何使用"曲线"函数绘制混合建模产生的正态分布的两个很好的解决方案。
因此,总体答案是使用"hist"函数绘制原始数据的直方图,然后使用"curve"函数(包含sdnorm函数)绘制每个正态分布。这提供了对颜色(以及可能的任何其他图形参数)的完全控制。
别忘了——这就是我获得sdnorm函数代码的地方——以及其他有用的见解
关于如何使用ggplot2 绘制mixEM类型数据的任何建议
一如既往地感谢StackOverflow和提供这些有用建议的贡献者。