在Matlab中使用密度绘制散点图

C.C*_*den 10 matlab plot density-plot

我想在一个图中垂直绘制数据集1和数据集2.不幸的是,数据很大,所以它只是一个点的污点,无法看到密度.我尝试了hist3和其他建议,但它覆盖了我的数据集,并且分箱看起来很糟糕.

是否有另一种绘制散点密度图的方法?它真的没有Matlab功能吗?如果没有,我可以使用哪个程序轻松生成这样的情节?

这两个例子之间的混合:

例1

示例2 http://www.bcgsc.ca/people/malachig/htdocs/alexa_platform/alexa_seq/FL_Trans/images/HS1361/ExonRegionVsGeneExpression_Log2.jpeg

Lui*_*ndo 20

感谢@Emil Albert进行更正(缺少转置)


计算hist3和显示结果有imagesc什么问题?

data1 = randn(1,1e5); %// example data
data2 = randn(1,1e5) + .5*data1 ; %// example data correlated to above
values = hist3([data1(:) data2(:)],[51 51]);
imagesc(values.')
colorbar
axis equal
axis xy
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


如果要使轴符合真实数据值:使用第二个输出hist3来获取箱中心的位置,并将它们传递给imagesc:

data1 = randn(1,1e5); %// example data
data2 = 2*randn(1,1e5) + 1.2*data1 + 4; %// example data correlated to above
[values, centers] = hist3([data1(:) data2(:)],[51 51]);
imagesc(centers{:}, values.')
colorbar
axis xy
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • @ C.Colden当然.您可以使用`hold on`并在其上绘制线条.试试例如`hold on; 在我的代码之后的情节(1:50,1:50,'k - ','linewidth',1.5)` (2认同)