【问题标题】:changing default colours when using the plot function of the R package mixtools使用 R 包 mixtools 的绘图功能时更改默认颜色
【发布时间】:2016-07-22 17:24:38
【问题描述】:

我在使用 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 可以解决此问题: Any suggestions for how I can plot mixEM type data using ggplot2 但由于各种原因,我需要继续使用基本图形

【问题讨论】:

    标签: r graphics mixture-model


    【解决方案1】:

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

    例如

    plot(xMix, which = 2, nclass=25, col2=c("dimgrey","black"))
    

    【讨论】:

      【解决方案2】:

      对这个问题进行了更多思考,我设法改写了这个问题并以更直接的方式提出了这个问题

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

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2014-10-04
        • 1970-01-01
        • 2014-09-15
        • 2017-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多