matlab用plot画图时如何将标记做成实心的(多组数据)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab用plot画图时如何将标记做成实心的(多组数据)相关的知识,希望对你有一定的参考价值。

如题,将多组数据绘制一个图中,且标记都做成实心的且颜色不一样(如下图),请问大神怎么做,谢谢!!!

用工具栏调整图形后,如果想通过代码来设置图片和figure的大小,必须先单独运行一下次命令,后边的“set(gcf,'unit','centimeters','position',[a b c d]);”和set (gca,'position',[a,b,c,d]);才会生效,否则会弹出“警告: 不能在 WindowStyle 为 'docked' 时设置 Position 。”

plot(变量名.time,变量名.signals.values,'颜色代码');hold on;
先在simulink的scope中将波形结果log data to workspace,save format选择structure with time,variable name表示变量名,自己随意设置。然后使用plot画图指令。

box off;
去掉右边与上面的边框,使用效果对比:

使用前

使用后
axis tight;%使坐标轴的最大值和最小值和数据范围一致

xlabel('x轴名称,自己随便设置');ylabel('y轴名称,自己随便设置');%设置X,Y轴的名称

axis off;%关闭坐标轴

set(gcf,'unit','centimeters','position',[a b c d]);
设置整个figure的大小(尺寸),不需要到word里再调整大小,单位为厘米。

大小(尺寸或是长度*高度)为c×d。

figure的起点坐标为(a,b),表示离显示器左侧边界a,离下侧边界b。这个不太重要。

set (gca,'position',[a,b,c,d]);
figure大小设置好之后,需设置实际的图在figure中的比例,需要自己微调。(也可以说是设置xy轴在整个figure中占的比例,或者说是xy轴距离figure边界的距离)

设置坐标轴距离画板(图形窗口figure)边距。

a表示x轴距离figure的左边距,最小为0,最大为1

b表示y轴距离figure的下边距,最小为0,最大为1

c,d表示坐标轴在figure中的宽度(x轴的长度),高度(y轴的高度),最小为0,最大为1

annotation('arrow',[x1 x2],[y1 y2]);
画一条从[x1 y1]指向[x2 y2]的箭头。

figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
这4句是将字体大小改为8号字,在小图里很清晰

set(gca,'XGrid','on'); % 显示X轴的网格
%set(gca,'XTick',[0;0.02;0.16]);

%

刻度(小竖线)

set(gca,'XTick',[a;b;c]),手动设置x轴刻度,a到c之间,每间隔b,划一小竖线;

set(gca,'XTicklabel',0,0.16); % 刻度值(竖线下面的数值)
参考技术A matlab用plot画图时如何将标记做成实心的(多组数据)?代码如下:
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));
>> figure
plot(x,y,'--bs',...
'LineWidth',2,...
'MarkerSize',10,...
'MarkerFaceColor','b')
>> grid on
扩展资料:
注意事项
一、绘制实心圆:
pha=0:pi/20:2*pi;%角度[0,2*pi]
R=2;%半径
x=R*cos(alpha);
y=R*sin(alpha);
plot(x,y,'-')
axis equal
fill(x,y,'r');%用红色填充
二、绘制实心圆点:
plot(1:8,'ro','MarkerFaceColor','r');
参考技术B plot(x,y,'r>-','MarkerFaceColor','r')
这里的'r'代表red,这样就是红心的圆圈,主要是设置'markerfacecolor'这个属性追问

谢谢您的回答。
如果是多组数据在同一个图中呢?比如方形是黑色,圆圈是红色,怎么做?
谢谢!

追答

hold on 在同一图像中继续画曲线,然后依然用plot画第二条曲线,只需要把r换了就行,可以用rgb值来表示,好像【0 0 0】就是黑色,这个可以手动测试

追问

很棒,谢谢!!!

本回答被提问者和网友采纳

matlab的plot命令

>> plot(-2,-1.1)
>> plot([-2,-1.1])
>> plot([-2,-1.1,1.1,2])
>> plot([-2,-1.1,1.1,2],[-1.1,-1.1,1.1,1.1]);
分别解释着四个命令的意思,中括号的作用不是很明确

1、没有中括号就是表示点的意思,第一个就画点(-2,-1.1)

2、像楼上说得,中括号是构造矩阵用的,plot只有一个参数时,会将参数作为纵坐标,横坐标为起始是1,公差是1的等差数列,此列便是 (1,-2),(2,-1.1)两点画线

3、跟2一样

4、2个参数,二维矩阵,楼主自己看图琢磨吧,这样印象才深

  

参考技术A 画出图形后一看就明白了
中括号一般表示区间或数据点,plot([-2,-1.1])中表示y坐标,plot([-2,-1.1,1.1,2],[-1.1,-1.1,1.1,1.1]);中表示X坐标和Y坐标的区间端点和数据值
参考技术B 中括号是构造矩阵用的。[-2,-1.1]就是一个1行2列的矩阵(也就是行向量),依次类推。
plot只有一个参数时,会将参数作为纵坐标,以正整数序列(1,2,3,...)做为横坐标绘制曲线;有两个参数时,以第一个参数做横坐标,第二个参数做纵坐标。
我想不用具体解释四个命令了,原则说明白您就应该明白了。

以上是关于matlab用plot画图时如何将标记做成实心的(多组数据)的主要内容,如果未能解决你的问题,请参考以下文章

[转载]用matlab的plot画图的几种用法

如何用plt在像素坐标中画图

matlab用plot画图时,人为的设置坐标轴的范围:

向各位matlab中plot画图,坐标轴的设置问题。大侠求教!!!

Matlab用plot如何分别设置多条线宽?

matlab中如何取消plot画的图