MATLAB: Specifying the axes limits separately for 2 sets of data on the same plot

combining graphsgraphsMATLABplot different datasets same graphyyaxis leftyyaxis right

I'm using yyaxis left/right to plot different graphs together and I want to change the axes limits for one side. ylim does not work in this case – is there another way to specify the limits for each side separately? I also want to label each side yaxis separately. Does anyone know how to do this?
This is my current code:
yyaxis left
scatter(sqrtinvT7,set7m)
yyaxis right
scatter(sqrtinvT7,set7c)

Best Answer

  • It is necessary to set them individually with respect to each y-axis:
    sqrtinvT7 = 1:10; % Create Variable


    set7m = rand(size(sqrtinvT7)); % Create Variable
    set7c = rand(size(sqrtinvT7)); % Create Variable
    yyaxis left
    scatter(sqrtinvT7,set7m)
    set(gca, 'YLim', [0.2 0.7])
    yyaxis right
    scatter(sqrtinvT7,set7c)
    set(gca, 'YLim', [0.6 0.9])
    they are set appropriately here:
    .