标签: density-plot

几种分布的成对图形比较

这是上一个问题的编辑版本.

我们给予ññ意见(样本)在变量(基因等),我们期待学习每对观测的变量的行为-例如两个观察具有最高正或负相关.为此,我在Stadler et.al看到了一张很棒的图表.自然科学(2011):

在此输入图像描述

这里它可以是要使用的样本数据集.

m <- 1000
samples <- data.frame(unif1 = runif(m), unif2 = runif(m, 1, 2), norm1 = rnorm(m), 
                      norm2 = rnorm(m, 1), norm3 = rnorm(m, 0, 5))
Run Code Online (Sandbox Code Playgroud)

我已经测试gpairs(samples)gpairs产生这个的包装.这是一个好的开始,但没有选择在右上部分放置相关系数,也没有选择在下角的密度图:

在此输入图像描述

接下来我使用ggparis(samples, lower=list(continuous="density"))了包GGally(感谢@LucianoSelzer以下评论).现在我们在上角和下角的密度上有相关性,但我们缺少对角线条形图,密度图不是热图形状.

在此输入图像描述

任何想法,使更接近所需的图片(第一个)?

r heatmap density-plot ggally

7
推荐指数
1
解决办法
2267
查看次数

有关如何使用ggplot2绘制mixEM类型数据的任何建议

我有一个从原始数据中获得的1m记录样本.(供您参考,您可以使用可能产生大致相似分布的虚拟数据

b <- data.frame(matrix(rnorm(2000000, mean=c(8,17), sd=2)))
c <- b[sample(nrow(b), 1000000), ]
Run Code Online (Sandbox Code Playgroud)

我认为直方图是两个对数正态分布的混合,我试图使用EM算法使用以下代码拟合求和的分布:

install.packages("mixtools")
lib(mixtools)
#line below returns EM output of type mixEM[] for mixture of normal distributions
c1 <- normalmixEM(c, lambda=NULL, mu=NULL, sigma=NULL) 
plot(c1, density=TRUE)
Run Code Online (Sandbox Code Playgroud)

第一个图是对数似然图,第二个图(如果再次点击返回),给出类似于以下密度曲线:

混合物模型密度曲线

正如我所提到的,c1的类型为mixEM [],而plot()函数可以容纳它.我想用颜色填充密度曲线.这很容易使用ggplot2()但ggplot2()不支持mixEM []类型的数据并抛出此消息:

"ggplot不知道如何处理类mixEM的数据"我还能采取其他方法解决这个问题吗?任何建议都非常感谢!!

谢谢!

r em ggplot2 density-plot mixture-model

7
推荐指数
2
解决办法
3059
查看次数

ggplot2密度与密度函数有何不同?

为什么以下情节看起来不同?两种方法似乎都使用高斯内核.

如何ggplot2计算密度?

library(fueleconomy)

d <- density(vehicles$cty, n=2000)
ggplot(NULL, aes(x=d$x, y=d$y)) + geom_line() + scale_x_log10()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ggplot(vehicles, aes(x=cty)) + geom_density() + scale_x_log10()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


更新:

这个问题的解决方案已经在SO上出现,但是ggplot2传递给R stats密度函数的具体参数仍然不清楚.

一种替代的解决方案是从GGPLOT2情节直提取密度数据,如图这里

r ggplot2 density-plot

7
推荐指数
1
解决办法
817
查看次数

密度估计曲线下的计算面积,即概率

density对我的数据有一个密度估计(使用函数)learningTime(见下图),我需要找到概率Pr(learningTime > c),即从给定数字c(红色垂直线)到曲线末端的密度曲线下面积.任何的想法?

在此输入图像描述

r probability kernel-density density-plot probability-density

7
推荐指数
2
解决办法
4357
查看次数

绘制密度与ggplot2在x轴上没有线

ggplot2::ggplot用于所有2D绘图需求,包括密度图,但我发现当在一个空间(不同颜色)上绘制具有极端异常值的多个重叠密度时,x轴上的线变得有点分散注意力.

那么我的问题是,您是否可以删除密度图的底部部分?如果是这样,怎么样?

您可以使用此示例:

library(ggplot2)
ggplot(movies, aes(x = rating)) + geom_density()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

应该是这样的:

在此输入图像描述

r ggplot2 density-plot

6
推荐指数
1
解决办法
2152
查看次数

geom_density y 轴大于 1

我认为这可能部分是一个 R 问题,部分是一个统计问题,所以如果有更好的地方,请原谅(如果是这样,请告诉我在哪里)。

假设我有一个my_measurements这样的数据集:

> glimpse(my_measurements)
Observations: 200
Variables: 2
$ sample_id <int> 18, 22, 30, 59, 74, 126, 133, 137, 147, 186, 189, 195, 203, 248, 294, 303, 320, 324, 353, 3...
$ value     <dbl> 0.9565217, 1.0000000, 0.7500000, 0.7142857, 1.0000000, 0.8571429, 1.0000000, 1.0000000, 0.8...
Run Code Online (Sandbox Code Playgroud)

其中每个sample_id都有相应的测量值,该测量值value介于 0 和 1 之间(例如,它们可能是某物的比例)。

它的完整dput()输出是:

structure(list(sample_id = c(18L, 22L, 30L, 59L, 74L, 126L, 133L, 
137L, 147L, 186L, 189L, 195L, 203L, 248L, 294L, 303L, 320L, 324L, 
353L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 density-plot probability-density

6
推荐指数
2
解决办法
8313
查看次数

ggplot2 中的密度图和直方图

我有以下数据框

        x1<-data.frame(n = rnorm(1000000, mean=0, sd=1), nombre= "x1")

        x2<-data.frame(n=rnorm(1500000, mean=3, sd=1), nombre= "x2")

        x<-rbind(x1, x2)

        ggplot(x, aes(n, fill=nombre))+
          geom_histogram(alpha=0.5, binwidth=0.25, position = "identity")+
          geom_density()
Run Code Online (Sandbox Code Playgroud)

我想将密度图叠加到直方图上,但它看起来就像 0 中的一条细线

在此输入图像描述

r ggplot2 density-plot

6
推荐指数
1
解决办法
3007
查看次数

使用 R 将四次核热图转换为大多边形

我有欧胡岛海岸附近的点数据。其他人使用这些相同的数据创建了一个大的polygon. 我相信他首先创建了heatmap一个quartic (biweight) kernel,每个点周围半径为 1 公里,像素大小可能为 1 平方公里。他引用了 Silverman(1986 年,第 76 页,方程 4.5,我认为它指的是“统计和数据分析的密度估计”一书)。我相信他将他heatmappolygon. 我正在尝试polygon使用R和用假数据来近似他Windows 10。我可以使用包中的kde函数来接近ks(见下图)。但该软件包仅包含Gaussian kernels. 是否可以polygon使用 a创建类似的quartic kernel

在此处输入图片说明

另一个分析实际上创建了两个版本的polygon. 一个边界被标记为“> 1 每公里密度”;另一个边界被标记为“> 0.5 每公里密度”。我不知道他是否使用RQGISArcGIS或别的东西。我无法创建一个大polygonQGIS,也没有ArcGIS.

感谢您对如何创建任何建议,polygon类似所示的一个,但使用quartic kernel的替代Gaussian kernel。如果我能提供更多信息,请告诉我。

这是我的虚假数据的链接CSVQGIS格式:在此处输入链接描述 …

r polygon heatmap kernel-density density-plot

6
推荐指数
1
解决办法
136
查看次数

如何使用 Mayavi 绘制 3D 复杂场的等值面以避免颜色插值伪影?

以示例库中的原子轨道示例为基础,我尝试使用等值面来可视化 3D 任意复杂场,就像循环 HSV 颜色图说明场的相位一样。但是,在相场取值接近pi和的点上存在问题,-pi在下图中,它对应于红色:

快照

在这些点中,pi和之间存在明显的不连续性-pi,并且 mayavi 似乎在这些值之间进行了插值,这导致了上图中出现的“嘈杂色线”。

我的问题:有没有办法解决这个问题,例如,通过禁用颜色插值?

重现情节的代码:

import numpy as np
from mayavi import mlab

L = 1.0
N = 150
xx, yy, zz = np.mgrid[-L:L:N*1j, -L:L:N*1j, -L:L:N*1j]

 = 0.0
? = 0.30
V = np.exp((-(xx-)**2 -(yy)**2  -(zz)**2 ) / (2*?**2)) 
density = V/np.amax(np.abs(V))
phi = np.arctan2(yy,xx)
density = density  *np.exp(6*phi*1j)


figure = mlab.figure('Phase Plot',bgcolor=(0, 0, 0), size=(700, 700))
field = mlab.pipeline.scalar_field(np.abs(density),vmin= 0.0 ,vmax= 1.0)
colour_data = …
Run Code Online (Sandbox Code Playgroud)

python complex-numbers mayavi density-plot isosurface

6
推荐指数
0
解决办法
156
查看次数

将二维密度图与功能区结合起来

我有一个包含 20 个日期的数据框,每个日期有 50 个值。我正在尝试绘制这些值的二维密度图,该图保留在最小-最大带内。我想要的一个例子是:

在此输入图像描述

我知道如何绘制二维密度图以及丝带,但不知道如何将两者连接在一起。这是我的尝试:

require(ggplot2)
require(dplyr)
require(RColorBrewer)

set.seed(248)

##Create reproducible example
Chass <- data.frame(nb=rep(1:50, 10), x=rep(1:10, each=50), val=c(sample(seq(7,9,0.1), size=50, replace = T),
                                                                  sample(seq(17,19,0.1), size=50, replace = T),
                                                                  sample(seq(10,12,0.1), size=50, replace = T),
                                                                  sample(seq(7,10,0.1), size=50, replace = T),
                                                                  sample(seq(6,18,0.1), size=50, replace = T),
                                                                  sample(seq(5,11,0.1), size=50, replace = T),
                                                                  sample(seq(6,13,0.1), size=50, replace = T),
                                                                  sample(seq(2,7,0.1), size=50, replace = T),
                                                                  sample(seq(4,8,0.1), size=50, replace = T),
                                                                  sample(seq(3,16,0.1), size=50, replace = T)))

##Compute statistics for the ribbon
Chass_stats <- summarise(group_by(Chass, x), min=min(val, na.rm=T), …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 density-plot

6
推荐指数
0
解决办法
96
查看次数