matlab - Matlab 中具有密度的散点图

标签 matlab plot density-plot

我想在一个垂直图中绘制数据集 1 和数据集 2。可惜数据量很大,所以只是点的涂抹,看不出密度。我尝试了 hist3 和其他建议,但它覆盖了我的数据集,分箱看起来很糟糕。

还有另一种绘制散点图的方法吗?真的没有 Matlab 函数吗?如果没有,我可以使用哪个程序来轻松生成这样的图?

这两个例子的混合:

Example1

Example2
(来源:bcgsc.ca)

最佳答案

感谢@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 中心的位置,并将它们传递到 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

enter image description here

关于matlab - Matlab 中具有密度的散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006490/

相关文章:

c++ - 代码/文本编辑器不需要实际的程序本身吗?

Matlab:颜色等级星座图

r - sm.密度.compare() : displaying multiple density estimations in a single plot

algorithm - 通过内置命令在matlab中计算所有N位字符串

python - Matlab 到 Python numpy 索引和乘法问题

r - 使用 plot.roc() 函数的 R 绘图中的白色边距

r - 如何调整 y 轴而不弄乱 r 中多个直方图的 x 轴?

R:如何:使用 gplot 和 geom_density 绘制 3d 密度图

matlab - 在 Matlab 中构建多阶马尔可夫链转移矩阵

r - 使用 R 更改时间序列图中的 X 轴值