繁体   English   中英

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

[英]Scatter plot with density in Matlab

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

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

这两个例子之间的混合:

例1

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

感谢@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

在此输入图像描述


如果要使轴符合真实数据值 :使用hist3的第二个输出来获取bin中心的位置,并将它们传递给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

在此输入图像描述

在File Exchange上尝试Violin Plot提交。 它非常可定制。 我用它所有的时间。 感谢@Jonas。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM