我想做的事情很简单,我只是似乎不能让MATLAB来做。我想用我的二维数据集来绘制等高线。
我的数据集很大;2 x 844240。我可以做个散点图,
scatter(Data(1,:), Data(2,:));
通过阅读论坛,我发现了Scatter plot with density in Matlab,在那里绘制了一个hisogram。这就足够了,但是,我想覆盖的情节。
问题是它们具有不同的轴,我的散射数据具有[0 0.01 0 2500]的轴;而直方图是[01000100]。
有没有一种方法可以在不修改图像的情况下更改直方图的轴值?
谢谢!
1条答案
按热度按时间2w2cym1i1#
如果我没理解错的话,你是用
hist3
来构造一个直方图,然后用imagesc
来绘制它,你可以用hist3
的第二个输出参数来得到直方图的柱形中心,然后把它们传递给imagesc
,例如:还有几点注意事项:
hist3
时,需要转置它,hist3
需要一个[N x 2]矩阵。imagesc
将第一个轴(我称之为“x”轴)放在垂直轴上,第二个轴放在水平轴上。如果你想翻转它,你可以用途:如果你想要一个等值线图,你可以使用(注意
contour
和imagesc
的轴参数顺序不同):如果你不满意轮廓的锯齿状,你可以考虑使用核密度估计而不是直方图(查看ksdensity)(哎呀,看起来
ksdensity
只有一维,但是有文件交换提交的二元核密度估计)。