我有2个地块具有相同x数据:绘制两轴半对数MATLAB
x=[0 100];
y1=x^2;
y2=e^x;
我想semilogy(即对数刻度)绘制Y2。 我怎样才能将它们绘制在一起? 左侧 - y1 Y轴; 右侧 - y2 Y轴;
我有2个地块具有相同x数据:绘制两轴半对数MATLAB
x=[0 100];
y1=x^2;
y2=e^x;
我想semilogy(即对数刻度)绘制Y2。 我怎样才能将它们绘制在一起? 左侧 - y1 Y轴; 右侧 - y2 Y轴;
好了,快速谷歌搜索,你在你的问题提供的条款(即“semilogy”和“绘制两轴MATLAB”)将显示你什么,我向您展示。总之...
您可以使用内置的yyaxis
function到...
两个y轴创建图表。
您可以使用内置的semilogy
function到...
创建一个具有对数刻度Y轴和线性规模为x轴的情节。
全部放在一起,这是非常简单,只是在yyaxis
函数文档我上面链接中提供的代码的通用版本...
x = [ insert your x-data];
y1 = insert-your-first-func;
yyaxis left
plot(x,y1)
y2 = insert-your-second-func;
yyaxis right
semilogy(x,y2)
编辑: 如果使用Matlab的版本< 2016a,那么您将无法利用yyaxis
函数的实用程序。在这种情况下,StackOverflow上存在很多问题(如this one和that one),这些问题可以解释如何绘制两组数据在同一个x轴上,但是不同的y轴(例如,linear和semilog,例如)。
答案也在plotyy
documentation!在这里它是:
plotyy(X1,Y1,X2,Y2, '功能1', '功能2')使用功能1(X1,Y1)到绘制数据用于左轴和功能2(X2,Y2)绘制右轴的数据。
功能可以是函数手柄或字符串,指定情节,semilogx,semilogy,双对数,茎,或接受 语法任何MATLAB®函数:H =函数(X,Y)
上面的代码现在看起来像...
x = [ insert your x-data];
y1 = insert-your-first-func;
y2 = insert-your-second-func;
plotyy(x,y1,x,y2,'plot','semilogy');
快乐编码!请记住,Google是你的朋友!
'yyaxis'需要MATLAB> = 2016a才能工作,虽然 – BillBokeey
的确如此。如果OP使用的是MATLAB版本<2016a,那么'plotyy'是他们最好的选择。有很多关于StackOverflow的问题,比如[here](http://stackoverflow.com/questions/2676004/different-right-and-left-axes-in-a-matlab-plot)和[here](http: //stackoverflow.com/questions/28634426/create-an-xy-plot-with-two-y-axis),这已经解释了如何使用'plotyy'来达到这个目的。 –
真的,只是想指出 – BillBokeey