pgfplots – Zoom di parte di grafico

  • Creatore
    Topic
  • #94518
    Up
    0
    Down
    ::


    Ciao a tutti 🙂
    Sto cercando di capire come meglio regolarmi per fare lo “zoom” di una porzione di un grafico, ma in rete trovo solo suggerimenti abbastanza traballanti e vorrei una vostra indicazione su come procedere.
    Ho un grafico e di questo vorrei fare, sempre nello stesso grafico, un piccolo zoom e nell’ingrandimento riportare con più precisione l’andamento che mi interessa (magari potendo prendere le coordinate di questo grafico “ingrandito” da un file differente da quello da cui prendo le coordinate del grafico principale)

    una cosa analoga a questa… ma esteticamente più gradevole e migliore dal punto di vista della codifica 🙂

    Grazie in anticipo
    Ciao!

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #94519
      Up
      0
      Down
      ::


      Ciao, se cerchi nello stesso sito del tuo link e usi le parole chiave “Tikz spy” puoi trovare diversi esempi. Prova, magari trovi qualcosa che fa al caso tuo

      ciao
      Marco

    • #94520
      Up
      0
      Down
      ::


      Nella mia fretta avevo capito che la libreria spy fosse deprecata.
      Sto guardando alcuni esempi e mi sembra proprio che sia proprio quello che mi serve per risolvere.

      Grazie per avermi fermato in tempo 🙂

    • #94521
      Up
      0
      Down
      ::


      Non l’ho mai usata quindi non so se è deprecabile, ne conosco giusto l’esistenza. Magari qualcuno più esperto potrà dirci di piu

    • #94522
      Up
      0
      Down
      ::

      l3on4rdo” post=94129Nella mia fretta avevo capito che la libreria spy fosse deprecata.

      Grazie per avermi fermato in tempo 🙂

      Dove avresti letto che è deprecata? Io so che rallenta la compilazione e il pdf risultante è “pesante” da visualizzare, ma a parte questo non mi vengono in mente elementi per dire che è deprecata. Invece, è raccomandabile non utilizzare [tt]tikzpicture[/tt]s annidate:

      1) Nesting “tikzpicture” within “tikzpicture” elements – Good or bad practice?
      2) tikz : how to refer to a node, in nested nodes

      Ciao
      Claudio

    • #94523
      Up
      0
      Down
      ::


      Scusate se non ho risposto prima. Ho problemi di connessione.


      @cfiandra

      Non intendevo dire che l’ho letto da qualche parte.
      Intendevo dire che io avevo inteso, leggendo di corsa, che l’uso di spy fosse “deprecato”.
      Ho preso un fischio per un fiasco 🙂

      Detto questo, vi ringrazio di cuore.
      Al momento non ho ancora ottenuto quanto mi serve, ma ci siamo quasi.

      Grazie ancora!!! 🙂

    • #94524
      Up
      0
      Down
      ::


      Rieccomi, con un po’ più di “competenza” data dalla lettura della parte riguardante la libreria spy nella documentazione di TikZ.

      Allora, i rallentamenti non dovrebbero essere un gran problema, perché grazie ad alcuni consigli che mi avete dato in una mia precedente discussione ora compilo ogni grafico separatamente e poi includo il pdf nel documento principale.

      Per ora sono riuscito ad ottenere quanto potete vedere nell’immagine

      [attachment=1002]ParticelleIntrappolatePerTempiBrevi.png[/attachment]

      con il codice
      `\PassOptionsToPackage{dvipsnames}{xcolor}
      \documentclass[tikz]{standalone}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[english,italian]{babel}
      \usepackage{csquotes}
      \usepackage{graphicx}
      \usepackage{tikz}
      \usepackage{pgfplots}
      \usepgfplotslibrary{external}
      \usetikzlibrary{calc}
      \usetikzlibrary{spy}

      \begin{document}
      \begin{tikzpicture}[spy using outlines={rectangle, magnification=3, connect spies}]
      \begin{axis}[xlabel=Iterazione , ylabel=$\frac{n_{o}(t)log(t)}{t}$]% , height=2cm, width=0.7\textwidth,scale only axis]%[scaled ticks=base 10:-3]

      \addplot[black, each nth point = 200]
      table [x index = 0, y index = 1] {FileDati.dat};

      \coordinate (spypoint) at (axis cs:120000,2.73);
      \coordinate (spyviewer) at (axis cs:1000000,2.5);
      \spy[width=0.7cm,height=0.5cm] on (spypoint) in node [fill=white] at (spyviewer);

      \end{axis}
      \end{tikzpicture}
      \end{document}
      `

      Innanzi tutto, magari voi che siete più esperti di me potreste darmi consigli per abbellire il tutto. Quindi non fatevi scrupoli 🙂

      Detto questo, il mio obiettivo è fare un ingrandimento della zona che ho effettivamente ingrandito nell’immagine allegata… ma rendere più “evidente” il fatto che c’è un tratto approssimativamente costante, che per ora non mi pare si veda in modo abbastanza chiaro.
      Per fare questo credo si debba modificare lo spyviewer. Io però qui mi blocco perché non ho “fantasia”.
      Mi chiedo se sia il caso di disegnare direttamente i nodi e il loro contenuto a mano, invece di usare spy, o se ci sia qualche accortezza per rendere tutto più gradevole.

      Grazie ancora, aspetto illuminazioni!

      Attachments:
      You must be logged in to view attached files.
    • #94525
      Up
      0
      Down
      ::


      Il punto che hai preso è si annulla la derivata prima no? Allora è quello giusto. Io aumenterei il valore di [tt]magnification[/tt] (che poi significa sostanzialmente zoomare un po’ di più). Il risultato viene più spesso come linee, ma si nota meglio l’andamento lineare in quel punto.

      PS: Hai dimenticato di scrivere log in tondo, come un operatore. Scrivi [tt]\log[/tt] al posto di [tt]log[/tt] 😀

    • #94526
      Up
      0
      Down
      ::


      Sì grazie, ho dimenticato di usare l’operatore \ln. 😛

      A parte questo, la zona che vado ad ingrandire è quella “intorno” al un massimo.
      Intorno al massimo c’è una zona in cui, su un intervallo di 45000 iterazioni (ovvero per i punti che vanno da ascissa 95000 ad ascissa 135000 circa) tra il valore minimo e il massimo dell’ascissa (2.73) ho una variazione dell’ordine dello 0.04 %
      L’andamento, pertanto, è in soldoni rettilineo in prima approssimazione (il tutto ha senso eh! siamo in tre matematici a lavorare su questa cosa 🙂 ).
      Solo che l’intervallo in cui è rettilineo è molto piccolo e non so bene come regolarmi per far emergere visibilmente questo comportamento nello zoom.

      Secondo voi si vede bene?
      Sto impazzendo 🙂

    • #94527
      Up
      0
      Down
      ::


      Sono un idiota… non avevo impostato lo spessore del tratto per il grafico…
      Stavo cercando di risolvere un problema che mi sono creato io da solo 🙂

      La questione della visualizzazione mi sembra di averla risolta impostando “very thin”.

      Suggerimenti su come migliorare questo “coso” saranno comunque molto apprezzati.

Visualizzazione 8 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top