相关疑难解决方法(0)

在ggplot2中使用边缘直方图的散点图

有没有办法用边缘直方图创建散点图,就像下面的示例一样ggplot2?在Matlab中它是scatterhist()函数,并且R也存在等价物.但是,我还没有看到ggplot2.

具有边缘直方图的散点图

我开始尝试创建单个图形,但不知道如何正确排列它们.

 require(ggplot2)
 x<-rnorm(300)
 y<-rt(300,df=2)
 xy<-data.frame(x,y)
     xhist <- qplot(x, geom="histogram") + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 5/16, axis.text.y = theme_blank(), axis.title.y=theme_blank(), background.colour="white")
     yhist <- qplot(y, geom="histogram") + coord_flip() + opts(background.fill = "white", background.color ="black")

     yhist <- yhist + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 16/5, axis.text.y = theme_blank(), axis.title.y=theme_blank() )


     scatter <- qplot(x,y, data=xy)  + scale_x_continuous(limits=c(min(x),max(x))) + scale_y_continuous(limits=c(min(y),max(y)))
none <- qplot(x,y, data=xy) + geom_blank()
Run Code Online (Sandbox Code Playgroud)

并使用 …

r histogram scatter-plot ggplot2

130
推荐指数
12
解决办法
5万
查看次数

如何使用来自不同数据集的"边缘"(分布直方图)覆盖Seaborn关节图

JointPlot从一组存储在大熊猫中的"观察计数与浓度"中绘制了一个Seaborn DataFrame.我想在现有边际之上覆盖(在同一组轴上)每个浓度的"预期计数"的边际(即:单变量分布),以便可以容易地比较差异.

这个图与我想要的非常相似,虽然它有不同的轴,只有两个数据集:

以下是我的数据如何布局和相关的示例:

df_observed

x axis--> log2(concentration): 1,1,1,2,3,3,3 (zero-counts have been omitted)

y axis--> log2(count): 4.5, 5.7, 5.0, 9.3, 16.0, 16.5, 15.4 (zero-counts have been omitted)
Run Code Online (Sandbox Code Playgroud)

df_expected

x axis--> log2(concentration): 1,1,1,2,2,2,3,3,3
Run Code Online (Sandbox Code Playgroud)

因此,覆盖在其df_expected上方的分布df_observed将表明每个浓度中缺少计数的位置.

我现在有什么

在每个浓度下观察到的计数的联合图分别在每个浓度 下的预期计数的联合图.我希望这个图的边缘覆盖在上面的联合图的边缘之上

PS:我是Stack Overflow的新手,所以任何有关如何更好地提问的建议都将得到感谢.此外,我已经广泛搜索了我的问题的答案,但无济于事.此外,Plotly解决方案同样有用.谢谢

python overlay pandas seaborn

5
推荐指数
2
解决办法
5891
查看次数

matplotlib:在散点图上方绘制直方图

我想用散点图的上方和右边的直方图制作漂亮的散点图,因为在seaborn中可以使用jointplot:

海生关节图

我正在寻找有关如何实现这一目标的建议。实际上,我在安装熊猫时遇到了一些麻烦,而且我不需要整个Seaborn模块

python matplotlib

5
推荐指数
2
解决办法
6352
查看次数

从投影的 2d 直方图绘制对齐的 x,y 1d 直方图

我需要生成一个类似于本示例中显示的图像:

在此处输入图片说明

所不同的是,代替具有以二维分散的点,我有numpy的的histogram2d生成并与使用绘制一个二维直方图imshowgridspec

在此处输入图片说明

如何将此 2D 直方图投影到水平和垂直直方图(或曲线)中,使其看起来对齐,就像第一张图像一样?


import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

data = # Uploaded to http://pastebin.com/tjLqM9gQ

# Create a meshgrid of coordinates (0,1,...,N) times (0,1,...,N)
y, x = np.mgrid[:len(data[0, :, 0]), :len(data[0, 0, :])]
# duplicating the grids
xcoord, ycoord = np.array([x] * len(data)), np.array([y] * len(data))
# compute histogram with coordinates as x,y
h, xe, ye = np.histogram2d(
    xcoord.ravel(), ycoord.ravel(),
    bins=[len(data[0, 0, :]), len(data[0, :, 0])], …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib histogram

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

Matplotlib 中具有边际 KDE 图和多个类别的散点图

我想要 Matplotlib 中的一个函数类似于Matlab 的“scatterhist”函数,它采用“x”和“y”轴的连续值,加上一个分类变量作为输入;并生成一个散点图,其中包含边际 KDE 图和两个或多个不同颜色的分类变量作为输出:Matlab/Mathworks“scatterhist”示例我在 Matplotlib 中 找到了带有边缘直方图的散点图示例,在 Seaborn jointplot 中找到了边缘直方图在 Matplotlib 中找到了重叠直方图在 Matplotib 中找到了边缘 KDE 图;但我还没有找到任何将散点图与边际 KDE 图结合起来并用颜色编码来指示不同类别的示例。

如果可能的话,我想要一个使用“vanilla”Matplotlib而不使用Seaborn的解决方案,因为这将避免依赖性并允许使用标准Matplotlib命令完全控制和自定义绘图外观。

我打算尝试根据上面的例子写一些东西;但在此之前,我想检查一下类似的功能是否已经可用,如果没有,那么将不胜感激有关最佳使用方法的任何指导。

margin matplotlib histogram scatter-plot kde-plasma

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