How do I set my axis values down to zero when changing my y-axis to log scale?
43 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Shae Morgan
am 6 Jul. 2016
Kommentiert: Star Strider
am 6 Jul. 2016
I'm trying to get my y-axis to show log scale from 0-3, but whenever I change to log scale (from linear) it stops at about .5 or something like that. I've tried ylim and setting yticks and yticklabels and nothing I try seems to work. Help? The figure looks just how I want it to, except I want a label at zero so the rest of that error bar on the 2nd age bracket is shown.
figure(1)
clf
X=[1 2 3 4];
Y=[1 .7657621 .9677052 1.75706];
Yt=(0:.5:3);
L=(Y-[1 .5008611 .6634741 1.211559]);
U=([1 1.170767 1.411439 2.548182]-Y);
errorbar(X(2:4),Y(2:4),L(2:4),U(2:4),'sk',...
'linewidth',.5, ...
'markerfacecolor','k', ...
'markeredgecolor','k', ...
'markersize',8);
hold on; errorbar(X(1),Y(1),L(1),U(1),'*k',...
'markersize',8);
hold on; x=[.5 4.5]; y=[1 1]; plot(x,y,'--k')
ylim([0 3])
xlim([.5 4.5])
ylabel({'Odds-ratio';' '});
xlabel('Age bracket');
labelsx = {'\begin{tabular}{c} 18-24 \\(reference)\end{tabular}','25-31','32-38','39-45'};
set(gca,'XTick',X,'XTickLabel',labelsx,'TickLabelInterpreter', 'latex','Color',[1 1 1]);
set(gca,'yscale','log')
Thanks in advance for any help! Let me know if you need any more information.
0 Kommentare
Akzeptierte Antwort
Star Strider
am 6 Jul. 2016
The log of zero is -Inf. You most likely don’t want to go there. To get an idea of what your plot would look like with that lower limit, set ylim to [eps, 3]. I would use [0.45, 3] if you want a bit of space at the lower edge.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Axis Labels finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!