matlab用plot画图时如何将标记做成实心的(多组数据)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab用plot画图时如何将标记做成实心的(多组数据)相关的知识,希望对你有一定的参考价值。
如题,将多组数据绘制一个图中,且标记都做成实心的且颜色不一样(如下图),请问大神怎么做,谢谢!!!
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画图时如何将标记做成实心的(多组数据)的主要内容,如果未能解决你的问题,请参考以下文章