matlab画图小记tickdir\YTick\YTick

F5 运行整个程序 F9 运行选中的部分程序

xtick是刻度(小竖线);xticklabel 刻度值(竖线下面的数值)

1、画图,坐标轴上的刻度线如何画在外面?

  matlab画图小记tickdir\YTick\YTick_第1张图片

解决:set(gca,'tickdir','out')

2、Matlab如何调整坐标轴刻度间隔?

set(gca,'XTick',0:pi/2:2*pi);设置刻度

set(gca,'YTick',-1:1:1);

set(gca,'XTicklabel',{'0','π/2','π','3π/2','2π'});设置刻度下的标签

axis([0 pi*2 -1 1]);设置图像的显示范围

matlab画图小记tickdir\YTick\YTick_第2张图片

matlab画图小记tickdir\YTick\YTick_第3张图片

来自百度百科:https://jingyan.baidu.com/album/4853e1e541a2541909f726a9.html?picindex=3

3、调整刻度值得字体大小

set(gca,'FontSize',15); 

4、调整坐标轴标签的字体类型和大小

YTick('X/m', 'FontSize',15,'color','k','Fontname','Times New Roman','FontAngle','italic','FontWeight','bold'); %斜体,加粗

     matlab画图小记tickdir\YTick\YTick_第4张图片     matlab画图小记tickdir\YTick\YTick_第5张图片

5、如何去除Matlab图形中的边界

有时候需要将Matlab画的图插到文章中,但是Matlab在保存图形的时候,会把整个figure对象全部保存,这样axes之外会有很大的空白。如何只保留axes和必要的说明文本?(例如坐标数值,title等)

Matlab figure说明
       在Matlab中,我们可以分三个层次来访问Matlab的图形:figure层,axes层,object层。对应figure 1的原始图形,figure层是灰色区域以及灰色区域包含的地方,原图中白色底的部分为axes层,白色区域中的线条是object层。这三层都可以使用handle这种东西来访问和操作。每种层次的handle有不同的属性可以设置(set)或者读取(get)。一旦set成功,原图就会发生相应的改变。这里我们的目的是为了让他去掉过多的外围空白区域,可以使用axes的position属性来设置axes的位置,通过使用figure的handel设置其颜色属性来把底色设置成白色。
代码:x = 0:0.01:2*pi; y = sin(x); plot(x,y,'k');

  matlab画图小记tickdir\YTick\YTick_第6张图片

做如下处理:将图形背景设置为白色,将图形区域铺满整个figure区域。

设置figure背景为白色

执行如下命令来设置figure的背景为白色。执行之后获得下图所示的图。

set(gcf, 'color', [1 1 1]);

      matlab画图小记tickdir\YTick\YTick_第7张图片

去除figure中外围空白区域
    使用axes handle的TightInset属性来获得axes区域需要扩展的最大范围,然后在根据这个来设置axes在figure中的position属性。先执行下面的代码。执行上述代码后,会得到如下的图

margin = get(gca, 'TightInset');
set(gca, 'Position', [0+margin(1) 0+margin(2) 1-margin(1)-margin(3) 1-margin(2)-margin(4)]);

                                            matlab画图小记tickdir\YTick\YTick_第8张图片

保存上图中的图像即可获得一个没有过多边界空白的图像了。

关于Position属性。他有四个值分别指示axes区域,[left bottom width height],其中他们的是属于[0,1]的。

关于TightInset属性,他是只读的,标示axes区域在四个方向上为了能包含进必要的文字而向外延伸的最小拓展,取值也在0和1之间。实际上,上述命令中设置的axes就是TightInset的区域大小。
from:https://blog.csdn.net/fallian/article/details/38780797

5、图形框的邮编和上边出现刻度,如何去除?

可通过如下语句将其去掉:

box off
ax2 = axes('Position',get(gca,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k');
set(ax2,'YTick', []);
set(ax2,'XTick', []);
box on

实例:

%画图研究
x = 0:0.01:2*pi; 
y = sin(x); 
plot(x,y,'k');
%去除figure中外围空白区域,保存图像时无空白区域
set(gcf, 'color', [1 1 1]);
margin = get(gca, 'TightInset');

%去除右侧,上侧的刻度线,但保留边框
set(gca,'box','off','Ytick',[])
box off
ax2 = axes('Position',get(gca,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k');
set(ax2,'YTick', []);
set(ax2,'XTick', []);
box on
%去除右侧,上侧的刻度线,连同边框一同去除
set(gca, 'Position', [0+margin(1) 0+margin(2) 1-margin(1)-margin(3) 1-margin(2)-margin(4)]);

6、设置坐标轴显示长度

xlim([0 10]);从0到10显示

7、为线加标签

x = -pi:pi/20:pi; 
plot(x,cos(x),'-ro',x,sin(x),'-.b') 
hleg1 = legend('cos_x','sin_x');%按顺序对应

8、 线型、标记、颜色

线型代号 表示线型
- 实线
虚线
-. 点画线
: 点线

 

标记代号 表示标记 标记代号 表示标记
. o o
* 星号 + +
square 正方形 x ××
diamond 菱形 <

顶点指向左边的三角形

pentagram 五角星形 > 顶点指向右边的三角形
hexagram 六角星形 ^ 正三角形
none 无点 v

倒三角形

颜色代号 表示颜色
 g 绿色
m 品红色
b 蓝色
c 灰色
w 白色
r 红色
k 黑色
y 黄色

 

例:t=0:0.1:2*pi;

y1=sin(t);

y2=cos(t);

y3=sin(t).*cos(t);

plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')

你可能感兴趣的:(matlab,画图)