Pgfplots: cambiare il colore di default dei grafici

  • Creatore
    Topic
  • #120856
    Up
    0
    Down
    ::


    Sto personalizzando le opzioni di disegno dei grafici mediante il comando \addplot del pacchetto pgfplots.
    Nel preambolo ho inserito il seguente comando
    `\pgfplotsset{my style/.append style={
    axis x line=middle,
    axis y line=middle,
    xlabel={$x$},
    ylabel={$y$},
    xlabel style={black, below},
    ylabel style={black, left},
    axis equal,
    enlarge x limits={abs=10pt},
    enlarge y limits={abs=10pt},
    xtick=\empty,
    ytick=\empty,
    axis line style={black, semithick},
    line width=1.5pt
    }
    }`e tutto funziona correttamente.

    Ora vorrei però cambiare il valore di default del colore con cui vengono disegnati i grafici col comando \addplot. Se nel preambolo aggiungo ad esempio l’opzione red:
    `\pgfplotsset{my style/.append style={
    axis x line=middle,
    axis y line=middle,
    xlabel={$x$},
    ylabel={$y$},
    xlabel style={black, below},
    ylabel style={black, left},
    axis equal,
    enlarge x limits={abs=10pt},
    enlarge y limits={abs=10pt},
    xtick=\empty,
    ytick=\empty,
    axis line style={black, semithick},
    line width=1.5pt,
    red
    }
    }`ritrovo che tutti gli elementi del grafico vengono disegnati in rosso: non solo le curve (che è ciò che voglio), ma anche gli assi cartesiani, le etichette, ecc.

    Ho cercato molto in rete e nel manuale del pacchetto, ma non sono riuscito a trovare il modo per ottenere il risultato di cambiare solo il colore del grafico senza agire direttamente sulle opzioni locali del comando \addplot. Qualcuno sa come fare?

    Grazie.

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #120857
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        Cozza Taddeo” post=121373Sto personalizzando le opzioni di disegno dei grafici mediante il comando \addplot del pacchetto pgfplots.
        Nel preambolo ho inserito il seguente comando
        `\pgfplotsset{my style/.append style={
        axis x line=middle,
        axis y line=middle,
        xlabel={$x$},
        ylabel={$y$},
        xlabel style={black, below},
        ylabel style={black, left},
        axis equal,
        enlarge x limits={abs=10pt},
        enlarge y limits={abs=10pt},
        xtick=\empty,
        ytick=\empty,
        axis line style={black, semithick},
        line width=1.5pt
        }
        }`e tutto funziona correttamente.

        Ora vorrei però cambiare il valore di default del colore con cui vengono disegnati i grafici col comando \addplot. Se nel preambolo aggiungo ad esempio l’opzione red:
        `\pgfplotsset{my style/.append style={
        axis x line=middle,
        axis y line=middle,
        xlabel={$x$},
        ylabel={$y$},
        xlabel style={black, below},
        ylabel style={black, left},
        axis equal,
        enlarge x limits={abs=10pt},
        enlarge y limits={abs=10pt},
        xtick=\empty,
        ytick=\empty,
        axis line style={black, semithick},
        line width=1.5pt,
        red
        }
        }`ritrovo che tutti gli elementi del grafico vengono disegnati in rosso: non solo le curve (che è ciò che voglio), ma anche gli assi cartesiani, le etichette, ecc.

        Ho cercato molto in rete e nel manuale del pacchetto, ma non sono riuscito a trovare il modo per ottenere il risultato di cambiare solo il colore del grafico senza agire direttamente sulle opzioni locali del comando \addplot. Qualcuno sa come fare?

        Grazie.

        Ciao.
        Inserisci l’opzione (semplicemente il nome del colore) nel comando \addplot e vedrai che funziona.
        Sul manuale cerca l’opzione draw.
        Saluti.
        R.

      • #120858
        Up
        0
        Down
        ::


        Sí, come avevo scritto nel primo post, lo so che inserendo il colore nelle opzioni del comando \addplot il colore cambia, quello che mi interessava sapere era se esisteva un modo per evitare proprio di scrivere il colore ogni volta che uso \addplot.

      • #120859
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          Cozza Taddeo” post=121375Sí, come avevo scritto nel primo post, lo so che inserendo il colore nelle opzioni del comando \addplot il colore cambia, quello che mi interessava sapere era se esisteva un modo per evitare proprio di scrivere il colore ogni volta che uso \addplot.

          Scusa. Avevo capito non tutto a pieno.
          Per impostare i colori di default puoi usare le liste di colori dalle quali pfgplots pesca, un grafico dopo l’altro.
          Cerca “Defining Own Cycle Lists” sul manuale (che puoi aprire al volo con il comando da terminale “> texdoc pgfplots”).
          Ciao.
          Alla prossima.
          R.

        • #120860
          Up
          0
          Down
          ::


          Nessun problema, figurati.:smile: Anzi, grazie del suggerimento, ho provato a fare come indicato nel manuale, ma se definisco un lista di soli colori la compilazione mi dà errore (senza specificare quale) e non riesco capire dove sta il problema.
          Penso che specificherò il colore nel comando locale \addplot, anche perché nel manuale è scritto che il meccanismo delle liste funziona solo se il comando \addplot viene chiamato senza parentesi quadre, mentre io per ogni plot voglio specificare dominio o altre opzioni, perciò la lista non funzionerebbe comunque.

        • #120861
          Up
          0
          Down
          ::


          Ecco, ho trovato l’errore (non c’entrava niente con la lista dei colori), però appunto il meccanismo della lista funziona solo se \addplot è chiamato senza parentesi quadre, per cui per me è inutile. 🙁

        • #120862
          mattiaca
          Partecipante
            Up
            0
            Down
            ::


            Prova ad aggiungere allo stile la seguente voce:
            `
            every axis plot/.style={draw=red}
            `
            Ho corretto il codice.

          • #120863
            Up
            0
            Down
            ::


            Grazie per il suggerimento.:)
            Ho provato, ma non funziona: se il comando \addplot è usato con la parentesi quadrata la curva è colorata di nero, se invece è usato senza parentesi quadrate allora la curva è di color marroncino-ocra, del rosso non c’è traccia.:roll:
            Lo stesso risultato lo ottengo se rimuovo la riga che mi hai suggerito di aggiungere, che quindi sembrerebbe del tutto ininfluente.

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

        Go to top