Reputation: 4514
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?
Upvotes: 4
Views: 933
Reputation: 24127
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.
Upvotes: 4
Reputation: 762
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)'))
Upvotes: 2
Reputation: 15806
Looks like MATLAB allows programmatic annotations with the annotation()
function.
alt text http://www.mathworks.com/access/helpdesk/help/techdoc/ref/annotationex1.gif
Upvotes: 4