转自http://blog.sina.com.cn/s/blog_62f3c4ef01017gg8.html
1:colorbar 的宽度如何用命令来调整?
解决方案:
a:
手动调,这个最简单了
b:
colorbar('position',[0.1 0.1 0.2 0.2]);%(起点x坐标,起点y坐标,长,高)
colorbar('position',[0.1 0.1 0.5 0.5]);
这两个试试就知道怎么调任意位置了;
c:
hBar = colorbar;
get(hBar, 'Position') %这样可以得到colorbar的左下角x,y坐标,以及宽和高。
set(hBar, 'Position', [在这里填上你喜欢的数值])
2:多个图共用一个y轴:
很多时候,我们希望多个图公用一个纵坐标,但横坐标从左到右依次排列,如下图:
matlab自带的subplot函数可以实现多个坐标轴的组合,然而还是需要自己精细地调整position
最简单的办法,是我向来最看不起的办法,也是对于这种问题最有效地办法:
手动调整。
先用subplot作图,然后打开手动调整工具,进行调整。
往往,运用低级命令对Matlab进行精细控制是很麻烦的,那么动手吧。
上面给出了第一种办法:可以画出图来后,通过编辑,手动移动
也可以使用第二种办法:
也可以通过手动编程,控制不同轴的位置,精确定位
3:matlab中直方图颜色的问题
x = -2.9:0.1:2.9;
y1= randn(10000,1);
hist(y1,x);
h = findobj(gca,'Type','patch');
set(h,'FaceColor','k','EdgeColor','k')
y2 = randn(5000,1);
hold on;
hist(y2,x);
玩玩上面的命令,你就知道如何使得直方图的颜色按照自己想要的进行了。
上面是针对hist命令的,对于bar命令,直接在调用时加上颜色选项就行了:
4:text往图里加注释的字体的大小怎么控制
见下面的例子:
x=0:0.1:10;
y=sin(x);
plot(x,y)
text(1,0.1,'Hey, little dog!','fontname',''Times New Roman','fontsize',40)
Mathtpye公式编辑器中漂亮的字体,是Times New Roman字体的斜体格式,可以这样设置
xlabel('\itx','Fontname','Times New Roman')
搜索matlab help中的 text properties
\bf
\it
\sl
\rm
\fontname{fontname}
\fontsize{fontsize}
\color(colorSpec)
5:Legend做图例时的字体及符号的控制
1:字体大小的控制
x=-2*pi:0.5:2*pi;
y=sin(x);
z=cos(x);
set (gcf,'Position',[600,500,250,200])
plot(x,y,'-ko')
hold on
plot(x,y,'-r+')
hl=legend('trajectory of sin(x)','trajectory of cos(x)');
set(hl,'Fontsize',6);
2:画图标记后,legend出来的标记框有点大,不好看,而且里面的标记线也较长不好看,想让标记框窄一些,标记线短一些,怎么设置legend?
legend('\fontsize {10}sin函数'),只是设定其中“sin函数'”字体的大小,而不影响 line 和marker(或称为symbol)的形状。line 和marker只能通过图形曲线的'LineWidth'和'MarkerSize'来改变,而不能单独改变。
如下面的例子:
x=-pi:.1:pi;
y=sin(x);
figure;plot(x,y,'-*');
legend('\fontsize {10}sin函数')
figure;plot(x,y,'-*');
legend('\fontsize {20}sin函数')
figure;plot(x,y,'-*');
legend('\fontsize {7}sin函数')
可见,不管字体大小如何变,line和marker都不随着改变。
不过倒是可以取消边框:
legend('boxoff')
6:如何将MATLAB所做的图的坐标刻度线画在坐标轴的外侧
axes('TickDir','out');