matlab双纵坐标如何添加图例

来自:    更新日期:早些时候
matlab怎么在图上添加图例~

方法如下:
figure;
%设置坐标轴线宽,加边框,坐标字号
axes('linewidth',1, 'box', 'on', 'FontSize',16);
%设置坐标轴label
xlabel('时间(s)','FontSize',16);
ylabel('压力(pa)','FontSize',16);
grid on;
hold on;
plot(ScopeData1.time, ScopeData1.signals.values, 'k', 'linewidth', 1);
%设置坐标轴上下限
xlim([0, 0.5]);
ylim([5300000, 5800000]);
ppfranklee 的 MATLAB 操纵坐标轴
axis off; % 去掉坐标轴
axis tight; % 紧坐标轴
axis equal; % 等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示范围
% gca: gca, h=figure(...);
set(gca, 'XLim',[3 40]); % X轴的数据显示范围
set(gca, 'XTick',[-3.14,0,3.14] ); % X轴的记号点
set(gca, 'XTicklabel',{'-pi','0','pi'}); % X轴的记号
set(gca, 'XTick', []); % 清除X轴的记号点
set(gca, 'XGrid','on'); % X轴的网格
set(gca, 'XDir','reverse'); % 逆转X轴
set(gca, 'XColor','red'); % X轴的颜色

matlab 画图, 去掉边
2011-02-25 11:12
1. 去掉边框, 空白区域。
首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。
screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。

figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。
plot(j,y,'Marker','+','LineWidth',1.5,'LineStyle',':','Color',[0 0 1])
% 设置坐标轴距离画板边距, 左下山下,依次调整图的空白区域。
set (gca,'position',[0.1,0.1,1,1] );
用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚。
我摸索出比较好的方法是如下的代码:
%%%%%%%%%%%%%%%%%%%%%
%plot your figure before
%%%%%%%%%%%%%%%%%%%%%
% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
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);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
解释:
set(gcf,'Position',[100 100 260 220]);
这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
set(gca,'Position',[.13 .17 .80 .74]);
这句是设置xy轴在图片中占的比例,可能需要自己微调。
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(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
这句是将线宽改为2
4.设置坐标轴参数
(1)axis,设置当前轴的坐标范围;
(2)axes,用指定的特征创建一个新坐标轴;
(3)get和set,查询或设置已有轴的各种特性;
(4)gca,返回当前轴的句柄。
如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:
axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。
对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如
set(gca,’ytick’,[-0.3:0.1:1]);
可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:
set(gca,’Xtick’,-pii/2i);
set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’};
Axis square设置两坐标轴长度成相等。
Axis equel设置坐标轴标记间距相等;
Axis equel tight;设置图形以紧缩方式显示。
5.图形窗口
figure(2);%以第二个图形窗口作为当前图形输出的窗口;
subplot(m,n,i);%分成m×n个小区域,I指定当前绘图区域;
colordef 颜色;%如white,black等,设置绘图背景颜色。
6.图形标注
Matlab提供了几个函数用于图形的标注:
函数名功能描述
Title添加图形标题
Xlabel,xlabel,zlabel添加X,Y,Z轴标注
Legend在图形中添加图例
Text在指定位置显示文本
Gtext使用鼠标将指定文本放在图形中的位置
如下为添加标题,坐标轴标注实例:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel('t=0 to 2pi','Fontsize',16);
>> ylabel('sin(t)','fontsize',16);
>> title('Value of the Sine from Zero to Two pi','fontsize',16)
注:标注时:pi显示成希腊字母,alpha,beta。
在图形中添加标注与图例,如下:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel('t=0 to 2pi','Fontsize',16);
>> ylabel('sin(t)','fontsize',16);
>> title('Value of the Sine from Zero to Two pi','fontsize',16)
>> text(3*pi/4,sin(3*pi/4),'leftarrow=.707','fontsize',16)
>> text(pi,sin(pi),'leftarrowsin(t)=0','fontsize',16)
>> text(5*pi/4,sin(5*pi/4),'sin(t)=-.707rightarrow','HorizontalAlignment','right','fontsize',16)
>> gtext('graph of function sin(x)') %可以用鼠标指定字符串所需放设位置。
>> H=legend('con','sin',0) %绘制图例

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

AX是坐标轴的句柄,AX(1)是左边的,AX(2)是右边的。H1和H2是图片的句柄。这里需要使用get的原因是Ylabel也是一个句柄。

添加图例是不会出错的,可以添加多个图例的,上面的就可以添加两个图例。

关于坐标轴两行显示,这个方法就可以了,再没有什么更好的方法了!

祝你学习愉快!

legend 指令不能正常使用与双纵坐标

谢谢你的回答,但是那个添加图例,可能我说的不清楚,如果用
legend('legend1',legend2')这个命令的话,就会出错。
我也就是这个意思,是没有错的。我试过了!你再试试吧!


matlab双纵坐标如何添加图例视频

相关评论:
  • 14728659844matlab中画双纵坐标图后,如何加右边的纵坐标标注?
    冀平柔set(HH1,'String','Left Y-axis');set(HH1,'color','b');HH2=get(AX(2),'Ylabel');set(HH2,'String','Right Y-axis');set(HH2,'color','r');set(H1,'LineStyle','-');set(H1,'color','b');set(H2,'LineStyle',':');set(H2,'color','r');legend([H1,H2],{'y1...

  • 14728659844具有两个纵坐标标度的图形
    冀平柔在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。双y轴坐标可以用plotyy(x,y1,x,y2)...

  • 14728659844matlab一个图形两个纵坐标
    冀平柔A = [1 2 3 3 4 5 5 5];ua = unique(A);ct = size(ua,2);for k = 1:ct c = sum(A==ua(k));SM(k) = c PD(k) = c\/size(A,2);end;plotyy(ua,SM,ua,PD);

  • 14728659844在MATLAB使用histfit,怎么设置双纵坐标,因为数据的基数差异很大,一条...
    冀平柔双坐标 代码如下:clear all;close all;data1 = rand(1,100);data2 = rand(1,500);fig = figure;h1=histfit(data1,20);set(h1(1),'Visible','off');set(h1(2),'Color','g');box off;ax1 = gca;hold on ;ax2 = axes;h2=histfit(data2,20);set(h2(1),'Visible','off');...

  • 14728659844如何用MATLAB做双纵坐标图?其中一条是折线图,另一个是柱形图,还有我想...
    冀平柔多子图用subplot函数就可以了,不多说。绘制双纵坐标图用plotyy函数,如果图的形式不同,可以用下面的方式 plotyy(X1,Y1,X2,Y2,'function1','function2')指定绘图的函数,例如 plotyy(1:10,sin(1:10),1:10,sin((1:10)*0.3),@plot,@bar)而线型、线宽、颜色以及坐标轴的YTickLabel等需要...

  • 14728659844matlab双纵坐标如何添加图例
    冀平柔AX是坐标轴的句柄,AX(1)是左边的,AX(2)是右边的。H1和H2是图片的句柄。这里需要使用get的原因是Ylabel也是一个句柄。添加图例是不会出错的,可以添加多个图例的,上面的就可以添加两个图例。关于坐标轴两行显示,这个方法就可以了,再没有什么更好的方法了!祝你学习愉快!

  • 14728659844matlab双纵坐标问题
    冀平柔[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');%得到AX轴句柄与第一图y1,的H1句柄,第2图y2,的H2句柄 set(get(AX(1),'Ylabel'),'String','Slow Decay') %设置左侧y轴的标签 set(get(AX(2),'Ylabel'),'String','Fast Decay') %设置右侧y轴的标签 xlabel('Time (\\musec)')%x轴...

  • 14728659844matlab双y轴坐标怎么设置
    冀平柔set(hLine2,'Color','y','LineWidth',3)其中set(hLine2,'Color','y','LineWidth',3)是将右侧y轴的线形图颜色设置为黄色y。4、保存和运行上述脚本,得到双y轴的标准正态分布函数图形如下。5、下面为左右两侧y轴添加坐标标注,继续添加如下代码:ylabel(hAx(1),'Normal Distribution Bar','...

  • 14728659844如何设置matlab里双纵坐标刻度,我这里有一段程序,麻烦看看问题出在哪...
    冀平柔你默认的坐标范围没那么大,你设置这么大的刻度当然不行了。你要首先设置坐标轴范围才能使用。clearclcNF=[1000,1200,1400,1600,1800,2000,2200,2300];PF=[474,589,697,792,867,918,935,935];Tf=[4531,4690,4754,4725,4601,4384,4059,3882];[AX]=plotyy(NF,PF,NF,Tf);%先设置y轴范围set(...

  • 14728659844怎么用matlab双纵坐标画5条曲线,并设置两个纵坐标的坐标值,给每条曲线...
    冀平柔假设你想将两条曲线画在左侧纵坐标,剩下三条曲线画在右侧纵坐标,示例如下:x = rand(100,1); %模拟5条曲线数据y = [2*rand(100,1),3*rand(100,1),4*rand(100,1),5*rand(100,1),6*rand(100,1)]; figure(1);yyaxis left; %左侧纵坐标p1=plot(x, y(:,1),'r','linewidth'...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网