多语言展示
当前在线:1791今日阅读:57今日分享:41

MATLAB画双x坐标的图

我们就来看一下怎样用MATLAB画出双x坐标的图,同时做好各种标注
方法/步骤
1

输入要做图的数据x1 = [1 2 3 4 5 6];x2 = [0.1 0.2 0.3 0.4 0.5 0.6];y = [5 6 7 8 9 10];

2

然后先根据x1和y画图,h1= line(x1,y,'Color','k','Marker','s','MarkerEdgeColor','k','MarkerFaceColor','k');后面这几个'Color','Marker','MarkerEdgeColor'和'MarkerFaceColor'分别是设置线条的颜色,marker的形状,marker边框的颜色,marker内部的颜色。这样MATLAB也会自动生成一个坐标系,然后我们用下面的语句拿到当前坐标系的句柄ax1,并对当前坐标系进行颜色设置。ax1 = gca;set(ax1,'XColor','k','YColor','k');

3

然后根据坐标系1的句柄,设置我们的坐标系2。ax2 = axes('Position',get(ax1,'Position'),'XAxisLocation','top','XColor','k','YColor','k');其中,'Position'这个属性设置坐标系2和坐标系1的原点位置一致;'XAxisLocation'设置坐标系2的x轴是在作图的上方'top'还是下方'bottom',一般选择上方,不然就和坐标系1的x轴重合了;同理'YAxisLocation'可以是'left'或者'right'; 'XColor'和'YColor'分别是对x轴和y轴的颜色设置。由于我们两个坐标系的y轴都在左侧,可以看到y轴的刻度是不一样的,然后看起来比较杂乱的两种。这是因为坐标系2的坐标轴刻度是系统初始化的,一旦画线之后,由于我们的y值都是一样的,两个坐标系的y周刻度就自动变为一样的了,就不会有这种情况了(见下一步骤中图片)。

4

然后两个坐标系都设置好之后,我们可以用下面的语句在坐标系2中画线。h2 = line(x2,y,'Color','k','Marker','s','MarkerEdgeColor','k','MarkerFaceColor','w','Parent',ax2);其中,'Parent’是确定我们这条线是画在ax2这个坐标系下的。

5

最后我们设置两个坐标系中x轴, y轴的label。xlabel(ax1,'x1 label name');xlabel(ax2,'x2 label name');ylabel(ax1,'y label name','Color','k');ax1和ax2分别是坐标系1和坐标系2的句柄,以上三个语句分别设置坐标系1的x轴label,坐标系2的x轴label,坐标系1的y轴label.

6

最后我们添加每条直线的标注。legend([h1,h2],'line1','line2');h1和h2分别是两条直线的句柄,我们用legend语句设置了着两条直线的标注。

推荐信息