如何将png文件添加到matlab图中

时间:2015-01-19 04:41:03

标签: image matlab png

如何将图像添加到我在matlab中制作的图中?图片来自维基百科:

enter image description here

以下是我为我所制作的情节提出的代码。

x= 7:0.1:27;
y= normpdf(x,17,exp(1));
title('Normal Distribution')
hold on
xlabel('x')
ylabel('y')
plot(x,y)

我认为我需要使用的脚本应该是这样的,但它不起作用。有任何想法吗?谢谢

title('addition: $1+1=2$', 'interpreter', 'latex')

1 个答案:

答案 0 :(得分:0)

您是否试图将图像本身显示在轴上?或者您是否尝试将图像中的等式显示在轴上作为文本?因为要做第一个你需要的:

x= 7:0.1:27;
y= normpdf(x,17,exp(1));
title('Normal Distribution')
hold on
xlabel('x')
ylabel('y')
plot(x,y)

img = imread('http://upload.wikimedia.org/math/7/3/a/73ad15f79b11af99bd2477ff3ffc5a35.png');
img = cat(3, img, img, img);
img = max(img(:)) - img;
img(img == max(img(:))) = 255;
hold on
xRange = [21 29];
yRange = [0.13 0.1];
imgHandle = image(linspace(xRange(1), xRange(2), size(img, 1)), ...
    linspace(yRange(1), yRange(2), size(img, 2)), img, 'Parent', gca);
hold off

从给定的URL读取图像,调整它以使其在白色上显示为黑色文本,然后将其作为对象添加到轴。

如果您只是想要等式的文本,这是我认为您所追求的,因为它更优雅,您可以这样做:

x= 7:0.1:27;
y= normpdf(x,17,exp(1));
title('Normal Distribution')
hold on
xlabel('x')
ylabel('y')
plot(x,y)

text(19, .145, '$f(x, \mu, \sigma) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^{2}}{2\sigma^{2}}}$', ...
    'interpreter', 'latex', 'FontSize', 14)