用matlab画漂亮的sin曲线
相信大部分用过matlab的人都画过sin曲线,直接plot就可以了,不过呢,plot出来的曲线自然不那么好看,本着绳命在于折腾的原则,小弟学习了下sin曲线的高级画法,mark一下,还是先上图看看是如何华丽丽的完整转变的吧。
实现代码如下:
x = -pi:0.1:pi;y = sin(x); axescenter fid1 = plot(x,y); set(findobj(\'Type\',\'Line\'),\'Color\',\'r\',\'LineWidth\',2) set(gca,\'ytick\',[-1,-0.5,0,0.5,1],\'LineWidth\',0.1) xlabel(\'-\pi \leq \Theta \leq \pi\') ylabel(\'f(\Theta)\',\'fontname\',\'\') set(gca,\'ylim\',[-2,2],\'xtick\',[-pi,-pi/2,0,pi/2,pi],\'xticklabel\',{\'-p\',\'-p/2\',\'0\',\'p/2\',\'p\'},\'fontname\',\'symbol\') text(-pi/2,sin(-pi/2),\'\uparrow f(\Theta) = sin(\Theta)\',\'VerticalAlignment\',\'top\',\'Fontsize\',14) hold on;pp = plot(x,cos(x)); set(pp,\'Color\',\'b\',\'LineWidth\',2) text(-0.85,cos(-0.85),\'f(\Theta) = cos(\Theta)\rightarrow\',\'VerticalAlignment\',\'bottom\',\'Fontsize\',14,\'horizontalAlignment\',\'right\')
其中为了把坐标轴移动到原点(发现这个才是大问题),使用了网上一份代码(对比了网上几个实现方案,个人认为这个代码最佳)
网址: http://www.mathworks.com/matlabcentral/fileexchange/22956-axescenter
其他参考matlab帮助: axes, set, gca, xdir, findobj