I am attempting to build a number of figures with tikz...one keeps failing to build and the log file indicates I'm running out of memory.

I've used

initexmf --edit-config-file pdflatex
initexmf --dump=pdflatex

To increase the available memory up to the point I think I can...the config file now reads

pool_size=40000000 
main_memory=50000000 
extra_mem_bot=40000000

And yet the log file tells me

43000001 words of memory out of 43000000

What's frustrating is that I have built this figure before on an older computer with less memory...it's cut and paste code....which makes me think maybe I've screwed something up that's letting something run away.

Here's code for the figure

%%%%%%%%%%%%%%%%%%%%%%
\documentclass{singlecol-new}
%%%%%%%%%%%%%%%%%%%%%%

\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}
\usetikzlibrary{plotmarks}
\usetikzlibrary{patterns}
\usetikzlibrary{calc}
\usepgfplotslibrary{external}

\usepackage[external]{tcolorbox}
\tcbset{
    external/prefix=\jobname-,
    external/safety=0mm,
    external/input source on error=false,
    }

\pgfplotsset{compat = 1.12}

\tcbEXTERNALIZE
\tikzexternalize



%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%


\begin{figure}[h!]
    \centering
    \begin{extikzpicture}[runs=2]{fig7}
        \begin{axis}[
                height=8cm,
                width=8cm,
                xmin=0,
                xmax=10000,
                %legend style={draw=none},
                legend style={at={(0.9,0.4)}},
                xlabel = $\frac{V(A)}{Resource Cost}$ Ratio,
                ylabel = P(X),
                width=0.75\textwidth,
                y tick label style={
        /pgf/number format/.cd,
            fixed,
            fixed zerofill,
            precision=1,
        /tikz/.cd
    },
    x tick label style={
         /pgf/number format/.cd,
            fixed,
            fixed zerofill,
            precision=0,
        /tikz/.cd
    },
        scaled ticks=false,
        ]
            \addplot+[black, mark=o,line join=round, mark repeat=1000] table[col sep=comma, y=Empirical, x=X]{CDFs.csv};
            \addlegendentry{{\scriptsize Empirical Data}}
            \addplot+[black, mark=x,line join=round, mark repeat=1000] table[col sep=comma, y=PT, x=X]{CDFs.csv};
            \addlegendentry{{\scriptsize Extended Pearson-Tukey}}
            \addplot+[black, mark=|,line join=round, mark repeat=1000] table[col sep=comma, y=SM, x=X]{CDFs.csv};
            \addlegendentry{{\scriptsize Extended Swanson-Megill}}
            \addplot+[black, mark=square,line join=round, mark repeat=1000] table[col sep=comma, y=BM, x=X]{CDFs.csv};
            \addlegendentry{{\scriptsize Bracket Median}}
        \end{axis}
    \end{extikzpicture}
    \caption{Elicited CDFs}
    \label{CDFGraph}
\end{figure}

\end{document}

Obviously the data is important here, but I'm not sure how to include it. It's 10,002 rows by 5 columns of floating point numbers to make 4 line graphs...it's honestly one of the simplest graphs in this paper...

The data file looks like

X   Empirical   PT  BM  SM
0   0   0.001   0.001   0.001
1   0   0.001   0.001   0.001
2   0   0.001   0.001   0.001
3   0   0.001   0.001   0.001
4   0   0.001   0.001   0.001
5   0   0.001   0.001   0.001
6   0   0.001   0.001   0.001
7   0   0.001   0.001   0.001
8   0   0.001   0.001   0.001
9   0   0.00101 0.001   0.001
10  0   0.00101 0.001   0.001
11  0   0.00101 0.001   0.001
12  0   0.00101 0.00101 0.00101

....
9990    1   1   1   1
9991    1   1   1   1
9992    1   1   1   1
9993    1   1   1   1
9994    1   1   1   1
9995    1   1   1   1
9996    1   1   1   1
9997    1   1   1   1
9998    1   1   1   1
9999    1   1   1   1
10000   1   1   1   1
  • One sure way to fix the problem is to do all your tikzpictures using standalone or externalize. If you run out of memory for a single graph, you are using too many data points. – John Kormylo Sep 8 at 15:37
  • @JohnKormylo I am running them externalized, and though there are a lot of points (10,000 per series) I have built this graph before...just not sure why it's running out of memory now. Other charts that in the past gave me memory issues are working fine, but this one never caused a problem before... – jerH Sep 10 at 1:28
  • The data file, cdfs.csv, is available at pastebin.com/u/jerH – jerH Sep 10 at 2:00

Interestingly, I uninstalled and then re-installed the pgf package and this issue disappeared. Not sure if that counts as an "answer"...

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.