Utilizzando errorbar () con semilogy () in MATLAB?
Domanda
Mi piacerebbe tracciare i dati x
& y
con errorbars, ebar
, e la sua forma, yfitted
, su un terreno semilogaritmico. Questo non sembra al lavoro:
figure;
hold on;
errorbar(x,y,ebar);
semilogy(x,yfitted);
Invece di trama semilogaritmico ottengo una trama lineare. Cosa dovrei fare diversamente?
Soluzione
try
h = errorbar(x,y,ebar);
set(get(h,'Parent'), 'YScale', 'log')
o
ax = axes();
errorbar(ax, x,y,ebar);
set(ax, 'YScale', 'log');
Altri suggerimenti
Questo è quello che dice la documentazione.
"Se si tenta di aggiungere un loglog, semilogx, o diagramma semilogy a un grafico modalità asse lineare con Hold on, il funzionamento come asse rimarrà così com'è e i nuovi dati saranno tracciare come lineare"
Vorrei suggerire che basta invertire l'ordine del tracciato, che è.
semilogy(x,yfitted);
hold on;
errorbar(x,y,ebar);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow