pgfplots errore ! Dimension too large.

  • Creatore
    Topic
  • #103312
    Up
    0
    Down
    ::


    Ciao a tutti,
    sto cercando di plottare una bella serie di dati
    dati
    con il seguente codice:
    `
    \documentclass{standalone}

    \usepackage{pgfplots}
    \pgfplotsset{/pgf/number format/use comma,compat=1.12}

    \begin{document}

    \begin{tikzpicture}
    \begin{axis}[
    xmin = 0,
    % xmax = 25000,
    ymin = 0,
    ymax = 60,
    width=19cm,
    % xtick={0,2500,5000},
    % xticklabels={0,2.5,5},
    xlabel=Time (day),
    ylabel=Temperature,
    grid=major,
    xtick scale label code/.code={},
    ]
    % \addplot [red, thick,mark=*,mark repeat=100] file [x=num,y=AccTwo]
    \addplot [red] file [x=Num, y=H1]
    {load.csv};
    % \addplot [green, thick] file [x=Num, y=H2]
    % {load.csv};
    \legend{Hive 1}
    % \legend{Hive 1,Hive 2}
    \end{axis}
    \end{tikzpicture}

    \end{document}
    `

    ma mi viene fuori il seguente errore:
    `
    ! Dimension too large.
    \pgfplotsaxisdeserializedatapointfrom@private@LUA …
    \pgfplotsaxisdeserializeda…
    l.31 \end{axis}
    `

    come posso risolvere? dove è il problema?

    Grazie
    Marco

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #103313
      Liverpool
      Partecipante
        Up
        0
        Down
        ::


        Generalmente quell’errore si verifica quando pgf deve manipolare, anche indirettamente, una dimensione superiore a 16384 punti.
        La butto lì (non ho verificato): non è che sono decisamente troppi 25921 coppie di valori per un grafico da stampare o guardare su schermo?
        Hai provato a ridurre la tua tabella a una ventina di valori e vedere cosa succede?

        Ciao

      • #103314
        Up
        0
        Down
        ::


        Ciao, si infatti mettendo solo i primi 100 valori funziona. E’ possibile sottocampionare direttamente da latex?

        Grazie
        Marco

      • #103315
        Liverpool
        Partecipante
          Up
          0
          Down
          ::

          warcomeb” post=103338Ciao, si infatti mettendo solo i primi 100 valori funziona. E’ possibile sottocampionare direttamente da latex?

          Se non sbaglio, con [tt]each nth point[/tt]. Prova a cercare sul manuale di pgfplots. Naturalmente un sottocampionamento periodico presuppone una certa “regolarità” della curva da tracciare. Altrimenti devi indicare tu un altro tipo di sottocampionamento.

        • #103316
          Up
          0
          Down
          ::


          ho provato ad usare table invece che file, ho ridotto i decimali dopo la virgola e sottocampionato di 2: ora riesco a plottare il grafico bene! Però mi da un warning:
          `NOTE: coordinate (22410,50.569) has been dropped because of a coordinate filter.`
          su tutte le coordinate!!! Ma non ho idea di cosa sia!

          Grazie
          Marco

        • #103317
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            È sempre il fatto che 22410 è maggiore di 16384.

          • #103318
            Liverpool
            Partecipante
              Up
              0
              Down
              ::

              warcomeb” post=103382ho provato ad usare table invece che file, ho ridotto i decimali dopo la virgola e sottocampionato di 2: ora riesco a plottare il grafico bene! Però mi da un warning:
              `NOTE: coordinate (22410,50.569) has been dropped because of a coordinate filter.`
              su tutte le coordinate!!! Ma non ho idea di cosa sia!

              Ti avevo invitato a leggere il manuale perché ricordavo che dicesse anche qualcos’altro di interessante. Sul manuale c’è scritto:

              il manuale di pgfplotsIn questo caso, dovresti impostare anche [tt]filter discard warning=false[/tt] per evitare notifiche ripetute sulle coordinate saltate…

              Ciao

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

          Go to top