Aiuto su plot bilogaritmico per curva di Wohler

di Anonimizzato9875 il
11 risposte
Salve a tutti.
Sono nuovo e mi servirebbe un'aiuto per realizzare un plot bilogaritmico per rappresentare una curva di Wohler per una tesi in Ingegneria.
Il plot vero e proprio non è un problema avendo tutti i dati, ma non riesco ad ottenere le scale sugli assi come voglio.
In poche parole dovrei riuscire ad ottenere degli assi di questo tipo:

Ma se in matlab utilizzo il comando loglog anche i tick dell'asse delle y mi risultano nella forma 10^...
invece a me servirebbe avere non il valore esponenziale ma "classico".
Qualche idea?
Vi ringrazio!
Mirko.

11 Risposte

  • Hai provato a sovrascrivere i tick con set(gca, 'YTickLabel',...)?
  • Hehe!! Sì...ma ottengo dei valori ovviamente stranissimi...e non "tondi" aspe che ti mostro...

    In questo csao ho aggiunto un'asse ma non cambia nulla...
    Un' idea per ottenere qualcosa di simile a quello che ho postato nel primo post? perchè mi è sato richiesto espressamente dal prof...
  • Ma se tu gli dai dei valori ben precisi non dovrebbe far venire fuori cose strane.
    Se tu scrivi:
    set(gca,'XTickLabel',[200 270 340 ... ])
    dovrebbe metterti esattamente quei numeri...
  • Però se io gli dò dei valori "a piacere" a quel punto è sbagliata la posizione del tick..perchè non fa altro che scrivere di fianco al tick il numero che gli dico e non sposta il tick...infatti nell'ultima immagine che ho postato ottengo quei numeri strani percè sull'asse di destra come valore di fianco al tick ho messo 10^"valore dei tick destri"...
    ho detto qualche cavolata o è vero che il comando set(gca, 'YTickLabel',...) cambia solo l'etichetta e non la posizione? Facendo un paio di prove mi sembrava proprio così...
  • Sì, cambia l'etichetta. Pensavo che ci fosse una corrispondenza. Ma puoi cambiare anche la posizione con set(gca, 'YTick', ...). A quel punto dovresti poter riprodurre esattamente la scala che ti serve.
  • Ok...quindi con 'YTick' dovrei riuscire a fare ciò che voglio...ho provato a fare qualcosa ma ora il problema è che matlab distribuisce i tick linearmente anche se la scala è logaritmica!
  • Con YTick li distribuisci tu dove vuoi, dato che gli dai tu i valori dove vuoi il trattino.
  • Ok...ma se io gli dico per esempio [1 2 3 4], essendo in scala logaritmica non dovrebbero essere equispaziati ma l'intervallo dovrebbe diminuire spostandosi lungo l'asse...
    Dovrei riuscire a farlo in due passaggi...prima posizionare i tick nella posizione giusta tramite set(gca, 'YTick', ...), e poi metterci l'etichetta giusta con set(gca, 'YTickLabel', ...)...
  • Esatto
  • Bingoo!!

    Sono riuscito anche a cambiare il colore alla griglia sovrapponendo due sistemi di assi di colore diverso!
    Ti ringrazio dell'aiuto!
    Alla prossima!
  • Figurati
    E' venuto molto bene!
Devi accedere o registrarti per scrivere nel forum
11 risposte