我想在一个图中垂直绘制数据集1和数据集2。不幸的是,数据量巨大,所以它只是一个点的污点,无法看到密度。我尝试了hist3和其他建议,但它覆盖了我的数据集,并且分箱看起来很糟糕。
是否有另一种绘制散点密度图的方法?它真的没有Matlab功能吗?如果没有,我可以使用哪个程序轻松生成这样的情节?
这两个例子之间的混合:
答案 0 :(得分:19)
感谢@Emil Albert进行更正(缺少转置)
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中心的位置,并将它们传递给{{ 1}}:
imagesc
答案 1 :(得分:2)
在File Exchange上尝试Violin Plot提交。它非常可定制。我用它所有的时间。感谢@Jonas。