matlab能否用双纵坐标方法将一个散点图和一个柱状图画在一起

来自:搞笑段子    更新日期:早些时候
如何用MATLAB做双纵坐标图?其中一条是折线图,另一个是柱形图,还有我想做多子图的~

看上去这个图好像是用Excel做的。
用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等需要调用plotyy时返回句柄,然后再用set去设置了。

根据以下代码(供参考),按你的要求修改,可以得达到如下效果(左:系统默认;右:按自己要求设定)

hl1 = line(n,Pe,'Color','r');
ax1 = gca;
set(ax1,'XColor','r','YColor','r')
ax2 = axes('Position',get(ax1,'Position'),'YAxisLocation','right','Color','none','XColor','k','YColor','k');
hl2 = line(n,Ttq,'Color','k','Parent',ax2);
set(ax2,'YColor','k')
set(hl1,'LineStyle','-')
set(hl2,'LineStyle','*')
xlimits = get(ax1,'XLim');
ylimits = get(ax1,'YLim');
xinc=500;yinc=10;
set(ax1,'YTick',[ylimits(1):yinc:ylimits(2)])
xlimits = get(ax2,'XLim');
ylimits = get(ax2,'YLim');
xinc=500;yinc=20;
set(ax2,'YTick',[ylimits(1):yinc:ylimits(2)])
xlabel('发动机转速n(r/min)');
set(get(ax1,'Ylabel'),'String','发动机功率Pe(kW)')
set(get(ax2,'Ylabel'),'String','发动机转矩Ttq(N·m)')
title('汽车外特性曲线图');
grid on

plotyy(X1,Y1,X2,Y2,'function1','function2')

利用function1指定的函数画X1,Y1数据
利用function2指定的函数画X2,Y2数据

plotyy(X1,Y1,X2,Y2,'scatter','bar')
就可以用对X1,Y1数据画点图,X2和Y2画条状图


matlab能否用双纵坐标方法将一个散点图和一个柱状图画在一起视频

相关评论:
  • 18733137391如何设置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(...

  • 18733137391MATLAB中如何用在双纵坐标系中画三个函数图象?其中两个看坐纵坐标,一...
    崔学具先画一个 plot(x,y1);hold on;再画剩下两个 plotyy(x,y2,x,y3);

  • 18733137391MATLAB双纵坐标图怎么画?
    崔学具Matlab plotyy画双纵坐标图实例 x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');set(AX(1),'XColor','k','YColor','b');set(AX(2),'XColor','k','YColor','r');HH1=get(AX...

  • 18733137391matlab双纵坐标问题
    崔学具需要用代码控制,编辑那里只能编辑左边的y轴 例如:x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');%得到AX轴句柄与第一图y1,的H1句柄,第2图y2,的H2句柄 set(get(AX(1),'Ylabel'),...

  • 18733137391Matlab 双纵坐标画图(左坐标中画两条曲线,右坐标画一条曲线)
    崔学具>> x=15:25;>> yzuo1=[1.4157 1.4157 1.4157 1.4157 1.4157 1.4157 1.4157 1.4157 1.41575 1.4158 1.4159];>> yzuo2=[1.41355 1.4136 1.41365 1.4137 1.41375 1.4138 1.4139 1.4140 1.4143 1.41475 1.4159];>> yyou=[-2 -2.4 -2.9 -3.5 -4.2 -5 -6 -...

  • 18733137391在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');...

  • 18733137391matlab里面的双纵坐标, 怎样扩张x轴的范围?
    崔学具需要对坐标系句柄分别进行设置,注意这种作图会产生两个坐标系,我画了两条曲线,坐标范围是0~0.8,然后把x轴的范围改到0~1:>> ax = plotyy( 0 : 0.1 : 0.8, 0 : 0.1 : 0.8, 0 : 0.1 : 0.8, 0.8 : -0.1 : 0, 'plot' )ax = 173.0369 175.0369>> xlim( ax...

  • 18733137391matlab怎样在双纵坐标上x轴上画对数坐标,y坐标一边画对数坐标,一边画普 ...
    崔学具plotyy(x,y1,x,y2,@loglog,@semilogx)

  • 18733137391matlab绘图时坐标能否非等间距
    崔学具这个是不可以的,不过你可以用双轴来解决这个问题,具体命令貌似是PLOT XY有点记不得了,就是两个图共一个轴,然后在左边右边列出第一和第二条曲线的Y轴,很好看

  • 18733137391matlab中如何设置两个不同坐标值的Y1,Y2坐标。谢谢高人指点!
    崔学具那就是双y坐标,示例:x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');%%得到plotyy的返回值 set(AX(1),'XColor','k','YColor','b');%%AX(1)控制左边纵轴 set(AX(2),'XColor',...

  • 相关主题精彩

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

    Copyright © 喜物网