views:

363

answers:

3

I've got a MATLAB script that is called every half hour to build a chart that is placed on my webpage:

load ~/emailAnalysis/results.txt
temp = results(:,3)-1238370000;
h=plot(temp,results(:,1))
xlim([0,max(temp)-1])
ylim([0 max(results(:,1))])
set(gca,'XTick',[1:86400*7:(86400*max(temp))+1])
set(gca,'XTickLabel',[1:1:100])
set(gca,'XGrid','on')
title('Size of inbox over time')
xlabel('Time (Weeks)')
ylabel('Emails')
set(h,'LineWidth',2)
print -djpeg /www/home/joseph/inboxlongterm.jpeg
exit

I'd like to be able to annotate the chart with the occasional text comment (for example, some text centered on a particular x,y coordinate saying "On holiday" or similar).

I had a bit of a Google and didn't get very far at all. Any ideas?

+4  A: 
Jweede
+2  A: 

You can also use the text function

text(x,y,'string')

where x,y are the coordinates. If you want to output text with tex symbols you can combine the texlabel function with the text function

text(x,y, texlabel('lambda12^(3/2)/pi - pi*delta^(2/3)'))
Bessi
+4  A: 

To add text to a figure at coordinates x,y, use the command

text(x,y,'string')

If you want the text centred on x,y, try:

h = text(x,y,'string')
set(h,'HorizontalAlignment','center')

You can also add arrows or lines to connect the text to a point on a graph using the annotation function.

Sam Roberts