Plotting scientific data in 1e-15

4 views (last 30 days)
Hello, I am trying to plot the below data. I need this in the scientific format. This is the code with which I am trying
eop_28nm_stat = [0.53075 0.17211 0.10732 0.09573 0.09853 0.12006 0.14314];
eop_28nm_dyn = [23.86 36.36 52.64 75.27 100.14 126.69 163.14];
eop_28nm_tot = [24.4 36.5 52.7 75.3 100 126.8 163.2];
emin = plot(vdd_28,eop_28nm_stat*1e-15);
%vdd_28,eop_28nm_dyn*1e-15);
hold on;
emin1 = plot(vdd_28,eop_28nm_dyn*1e-15);
emin(1).LineStyle = ':';
emin(1).Marker = 's';
emin(2).LineStyle = '--';
emin(2).Marker = 'x';
set(gca,'YTickLabel',sprintf('%-10.15f|',emin1));
% I have tried the below code snippets also but it doesn't work.%
fun = @(x) sprintf('%g \\times 10^{%d}',x/(10.^floor(log10(x))), floor(log10(x)));
figure;
plot([0.001:0.1:1]*1e-15);
tick2text('axis', 'y', 'yformat', fun, 'ytickoffset', .06);
But it keeps going to the 1e-13 directly and hence I cannot see any plot of the eop_28nm_stat because those values are really small. Please let me know how to go around this. Thanks!

Accepted Answer

John D'Errico
John D'Errico on 3 May 2016
Edited: John D'Errico on 3 May 2016
Use a plot with logged axes.
help loglog
help semilogx
help semilogy

More Answers (0)

Community Treasure Hunt

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

Start Hunting!