我已经在互联网上搜索了上述问题的解决方案,但到目前为止还没有运气。我一直在制作一些2D图,其中(0,0点)的原点由图像表示。我通过在图像上绘制数据来制作这些图像,其中图像全部是白色的,与中心点处的所需符号分开(因此我可以根据需要对其进行整形)。然后我移动轴,使它们在中心点交叉。这一切都很好,但我现在必须使用“填充”创建一些图,在图中放置两个阴影区域,在中心重叠。即使使用“alpha”,这也会导致难以看清符号。
因此,我有两个选项可以获得所需的效果,两者都要求我在绘制数据后将图像放在图形的顶部。这些选项是:
1)我将图像放在绘图的顶部并对其应用alpha(可能看起来不太好,因为它会使绘图静音)。
2)更好的选择是围绕符号裁剪图像,然后将其放置在图表的顶部,使图像中心位于原点(我不知道如何以这种方式定位图像)。
两种方法都需要在绘制数据后将图像放置在绘图顶部。我试过'保持'并称'图(图像)(图像)''都不起作用。我有Matlab 2012b,但没有工具箱(所以不能使用子图像等。)
感谢您提供任何帮助
答案 0 :(得分:1)
您可以使用'AlphaData'
选项设置图像各个像素的透明度。因此,您可以按如下方式绘制叠加图:
% plot your data normally
...
hold on
% assuming the overlay is a 11x11 image
image(-5:5,-5:5,image_matrix,'AlphaData',alpha_matrix);
image_matrix
显然是存储在其中的图像数据的矩阵,而alpha_matrix
将是与image_matrix
相同大小的矩阵。您要显示的每个像素的值都为1,您要隐藏的每个像素(白色像素)都为0.