Plot a 2 y axis graph

조회 수: 3 (최근 30일)
Anders Vigen
Anders Vigen 2021년 2월 7일
답변: Srivardhan Gadila 2021년 2월 10일
% Induction Factor
syms C_T C_P V D S E
idx = 0;
for a=(0:0.05:0.3333333)
idx = idx + 1;
C_T(idx)=4*a*(1-a)*etaTipLoss
C_P(idx) =4*a*(1-a)^2*etaTipLoss*etaDrag
% Car top speed formula
eqn(idx) = (C_P(idx)*etaTrans)/(C_T(idx)+(Ac/A)*CD+((M*g*fr)/((0.5*rho*Vinf^2*(1+V/Vinf)^2)*A))-C_P(idx)*etaTrans) == V/Vinf
S = double(solve(eqn(idx),V,"Real",true))
% V/Vinf
D = (S/Vinf)
end
plot([0:0.05:0.3333333],S,"-r")
hold on
yyaxis right
plot([0:0.05:0.3333333], D, "-.b")
hold off
I can't get the plot I want. I need to show my results for S and D where I want two y axis, because S and D dont have the same units. I hope there is someone that can help me correct my script.

채택된 답변

Srivardhan Gadila
Srivardhan Gadila 2021년 2월 10일
Refer to the documentation of yyaxis for more information. I was getting two Y-axes when I tried your code:
x = 0:0.05:0.3333333;
S = rand(size(x));
D = rand(size(x))/2;
% yyaxis left
plot(x,S,"-r")
hold on
yyaxis right
plot(x, D, "-.b")
hold off
If you want to set the same limits for both the Y-axes then you can try as below:
plot(x,S,"-r")
hold on
yleftLimits = get(gca,'ylim')
yyaxis right
plot(x, D, "-.b")
set(gca,'ylim',yleftLimits)
hold off
If this is not the issue you are facing, can you clearly state your issue with an example.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by