标签: density-plot

在python中用颜色填充密度图

我有两个密度图,一个在另一个上面。如何用 2 种不同颜色填充曲线下方的区域并添加一些透明度,以便重叠区域可见。

import numpy as np
import pandas as pd 
import matplotlib.pyplot as plt
import sys 
import seaborn as sns

x=[1,1,1,1,1,1,1,0,0,0,0,0,0,0]
y=[1,1,1,0,2,0,0,0,1,1,0,1,0,1]
sns.distplot(x, hist=False,color="green")
sns.distplot(y, hist=False,color="blue")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python plot matplotlib density-plot

2
推荐指数
1
解决办法
4432
查看次数

使用间隔的密度图/直方图

我有一系列整数区间,例如[1,5],[1,3],[3,4]我想创建一个密度图.我想我真正想要的是在整个范围内重叠每个整数的间隔数量的图.使用上面的数据可能看起来像这样:

    3     X
    2 X X X X
    1 X X X X X
      1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

我能想到的明显(也是可怕的)方法是遍历每个区间并将所有整数添加到单个向量中,然后使用hist()或类似函数来创建我的图.有一种直截了当的方法吗?

谢谢!

r histogram intervals density-plot

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

使用 ggplot stat_density_2d 在 levelplot 中破坏多边形

使用ggplot's创建一个水平图,stat_density_2d我得到了“破碎的”多边形。例如,下面示例中的外层。

我该如何解决这个问题,以获得平滑的形式?

在此处输入图片说明

set.seed(0)
n <- 50
d <- data.frame(x = rnorm(n, -.7, .5), 
                y = rnorm(n, 0, .8))
ggplot(d, aes(x, y)) + 
  geom_point() +
  stat_density_2d(aes(fill = ..level..), alpha=.1, geom = "polygon") 
Run Code Online (Sandbox Code Playgroud)

r polygon ggplot2 density-plot

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

R密度图y轴大于1

我想要一个密度图,这里是代码:

d = as.matrix(read.csv(file = '1.csv'))
plot(density(d))
Run Code Online (Sandbox Code Playgroud)

我的数据是一个数字列表.我不明白的是y轴的值大于1我认为有什么不对并搜索互联网,但我找不到任何资源,你们能帮助我吗? 这里输入图像描述是这样的数据:链接:http://pan.baidu.com/s/1hsE8Ony密码:7a4z

r density-plot

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

geog_ribbon用于ggplot2中的多个密度

我有一个数据框(aa),其每日值为7个变量,我想使用R中的ggplot在一个图中创建所有变量的密度图。

date                1       2      3       4         5        6      7
1/1/1951 1:00   576.568 308.596 501.752 359.868 772.522 475.146 307.991
1/2/1951 1:00   722.986 461.295 652.33  525.561 1806.75 724.128 460.697
1/3/1951 1:00   859.542 582.949 910.248 642.133 2388.73 959.896 579.396
1/4/1951 1:00   1136.49 704.732 1047.04 1304.73 2619.04 1545.61 690.574
1/5/1951 1:00   1747.84 769.764 1099.24 1828.5  2695.6  2052.11 790.35
1/6/1951 1:00   1842.66 811.765 1130.44 2031.97 2747.14 2532.89 860.417
1/7/1951 1:00   2734.15 895.825 1158.42 2145.6  2772.58 2826.31 944.181
1/8/1951 1:00   2870.02 996.17  1159.5  2123.04 2773.86 3385.17 …
Run Code Online (Sandbox Code Playgroud)

scaling r area ggplot2 density-plot

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

抑制R中密度()的默认灰色水平线

我想知道是否有一个参数来抑制 R 中附带的默认灰色水平abline(见下图)density()

plot(density(rnorm(1e4)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

plot r kernel-density density-plot

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

ggplot中位置堆栈与身份之间有什么区别?

有人可以解释geom_density位置选项stackidentity.情节看起来非常不同但仍然重叠.这两者之间根本有什么不同?

r ggplot2 density-plot

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

R:加权Joyplot/Ridgeplot /密度图?

我正在尝试使用ggridges包创建一个joyplot (基于ggplot2).一般的想法是,一个joyplot创建了精确缩放的堆积密度图.但是,我似乎无法使用加权密度生成其中一个.是否有一些方法可以在计算密钥套的创建中计算密度时采用抽样权重(加权密度)?

这里是该ggridges软件包文档的链接:https://cran.r-project.org/web/packages/ggridges/ggridges.pdf我知道很多基于ggplot的软件包可以接受额外的美学,但我不知道知道如何为这种类型的geom添加权重.

另外,这是ggplot中未加权的joyplot的示例.我试图将其转换为加权图,密度根据pweight加权.

# Load package, set seed
library(ggplot)
set.seed(1)

# Create an example dataset
dat <- data.frame(group = c(rep("A",100), rep("B",100)),
                  pweight = runif(200),
                  val = runif(200))

# Create an example of an unweighted joyplot
ggplot(dat, aes(x = val, y = group)) + geom_density_ridges(scale= 0.95)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gplots density-plot ggridges

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

基于一天中不同时间的密度图

我有以下数据集:

https://app.box.com/s/au58xaw60r1hyeek5cua6q20byumgvmj

我想根据一天中的时间创建密度图。这是我到目前为止所做的:

library("ggplot2")
library("scales")
library("lubridate")

timestamp_df$timestamp_time <- format(ymd_hms(hn_tweets$timestamp), "%H:%M:%S")

ggplot(timestamp_df, aes(timestamp_time)) + 
       geom_density(aes(fill = ..count..)) +
       scale_x_datetime(breaks = date_breaks("2 hours"),labels=date_format("%H:%M"))
Run Code Online (Sandbox Code Playgroud)

它给出以下错误: Error: Invalid input: time_trans works with objects of class POSIXct only

如果我将其转换为POSIXct,它会将日期添加到数据中。

更新1

以下数据转换为“NA”

timestamp_df$timestamp_time <- as.POSIXct(timestamp_df$timestamp_time, format = "%H:%M%:%S", tz = "UTC"
Run Code Online (Sandbox Code Playgroud)

更新2

以下是我想要实现的目标: 在此输入图像描述

r ggplot2 lubridate density-plot

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

ggplot2 2D密度图 - 渐变填充过于平滑

我对ggplot2包和渐变填充有一些困难.对于数据点数较少的数据,其梯度和密度强度并不匹配.这是一个例子:在此输入图像描述

我使用的代码是:

pt <- read.xlsx("plots.xlsx", sheetName = "PT1_TB varseq", stringsAsFactors=FALSE)

ggplot(pt, aes(x=pt$BAF, y=pt$LogR) ) + 
  stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
  scale_fill_distiller(palette= "Spectral", direction=-1) +
  scale_y_continuous(name="LogR", limits = c(-0.8, 0.6), breaks = seq(-0.8, 0.6, 0.2)) +
  scale_x_continuous(name="BAF", breaks = seq(0, 0.8, 0.2)) +
  theme(
    legend.position='none',
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.line = element_line(colour = "black")
  ) +
  geom_point(aes(shape = factor("cyl")), size = 1) + scale_shape(solid = FALSE)
Run Code Online (Sandbox Code Playgroud)

我希望渐变更突然地改变,例如,我希望在(0; 0.2)和(0.25; -0.2)之间的点之间看到更多的颜色分离.此外,没有点的中间的黄色应该是蓝色.

当我在它的时候,是否有人知道如何消除轴和实际情节之间的白色间隙?

提前致谢 …

r scatter-plot ggplot2 density-plot

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

Python Pandas 密度图

我想创建一个类似于下面所附的图的图。

我的数据框是按以下格式构建的:

   Playlist  Type        Streams
0  a         classical   94  
1  b         hip-hop     12
2  c         classical   8
Run Code Online (Sandbox Code Playgroud)

“流行度”类别可以用“流”代替 - 唯一的是流变量具有很高的值方差(从 0 到 10,000+),因此我认为密度图可能看起来很奇怪。

然而,我的第一个问题是,当按“类型”列分组然后创建密度图时,如何在 Pandas 中绘制与此类似的图表。

我尝试了各种方法,但没有找到一个好的方法来确立我的目标。

在此输入图像描述

python pandas density-plot

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

如何覆盖来自 R 中不同数据集的密度 ggplots?

我有三个 ggplots (g1, g2, g3)

它们都来自不同的数据集,并且每个都具有相同的xlimylim

我想将它们全部绘制在一页上并叠加它们。

我只在网上找到了解释如何在同一页面上从同一数据集绘制多个密度图的资源。

是否有我可以编写的代码,以便将所有后续图绘制在同一页面上?

r ggplot2 density-plot

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