文章投稿时常用到的matlab作图命问题



转自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作图命问题

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命令,直接在调用时加上颜色选项就行了:
    A=[1,-2,3,1,-1,-2];
    B = A;
    A(A<0) = 0;
    B(B>0) = 0;
    bar(A,'r')
    hold on;
    bar(B,'g')


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 — Bold font

\it — Italic  font

\sl — Oblique font (rarely available)

\rm — Normal font

\fontname{fontname} — Specify the name of the font family to use.

\fontsize{fontsize} — Specify the font size in FontUnits.

\color(colorSpec) — Specify color for succeeding characters



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?
文章投稿时常用到的matlab作图命问题

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');

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值