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

时间:2014-01-08 21:05:22

标签: matlab plot density-plot

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

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

这两个例子之间的混合:

Example1

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

2 个答案:

答案 0 :(得分:19)

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

enter image description here


如果您希望轴符合真实数据值:使用hist3的第二个输出来获取bin中心的位置,并将它们传递给{{ 1}}:

imagesc

enter image description here

答案 1 :(得分:2)

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