MATLAB Answers

Cant get plotyy to work with string x tick labels

13 views (last 30 days)
Hi I am trying to draw a double y axis graph with string text for the x labels. I have the following code
x = 1:12;
y1 = Wind_monthly_speed;
y2 = Solar_monthly;
[AX,H1,H2] = plotyy(x,y1,x,y2);
title('Monthly Average Wind Speed and Solar Energy - Hanimaadhoo','FontSize',18)
set(get(AX(1),'Ylabel'),'String','Wind Speed (m/s)','FontSize',15)
set(get(AX(2),'Ylabel'),'String','Insolation (kWh/m2)','FontSize',15)
set(gca, 'XTick',1:12, 'XTickLabel',{'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L'})
This code gives me a graph but the numeric x tick tables seem to be getting in the way. Does anyone know how to remove them?

  0 Comments

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 22 Sep 2012
Edited: Wayne King on 22 Sep 2012
This has to do with how plotyy() creates two overlappying x-axes. You can work around this with the following:
[AX,H1,H2] = plotyy(x,y1,x,y2);
title('Monthly Average Wind Speed and Solar Energy - Hanimaadhoo','FontSize',18)
set(get(AX(1),'Ylabel'),'String','Wind Speed (m/s)','FontSize',15)
set(get(AX(2),'Ylabel'),'String','Insolation (kWh/m2)','FontSize',15)
set(AX,'xtick',1:12)
set(AX,'xticklabel',' ')
set(AX,'xticklabel',{'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L'});

More Answers (0)

Sign in to answer this question.


Translated by