Re: Le mie (dis)avventure con TikZ

#96793
lorenzo.pantieri
Partecipante
    Up
    0
    Down
    ::


    Ciao a tutti. Sono alle prese con una misteriosa incompatibilità tra “matrix” e subfig. Il diagramma a torta che produco senza difficoltà con matrix, se mi azzardo a metterlo dentro una subfig, mi dà errore.
    `\documentclass[11pt,a4paper,twoside,openright,titlepage,%
    headinclude,footinclude,BCOR5mm,%
    cleardoublepage=empty,tablecaptionabove,table
    ]{scrbook}

    \usepackage[T1]{fontenc}
    \usepackage[applemac]{inputenc}
    \usepackage[english,italian]{babel}
    \usepackage{indentfirst}
    \usepackage{graphicx}
    \usepackage[font=small]{quoting}
    \usepackage{amsmath,amssymb,amsthm}
    \usepackage{mathtools}
    \usepackage{braket}
    \usepackage{cancel}
    \usepackage{empheq}
    \usepackage{multicol}
    \usepackage[italian]{varioref}
    \usepackage{mparhack,fixltx2e,relsize}
    \usepackage{tabularx}
    \usepackage{array}
    \usepackage{subfig}
    \usepackage{enumitem}
    \usepackage{eurosym}
    \usepackage{shapepar}
    \usepackage{siunitx}
    \usepackage{float}
    \usepackage{pifont}
    \usepackage{chngpage,calc}
    \usepackage[eulerchapternumbers,subfig,beramono,eulermath,pdfspacing,listings]{classicthesis}
    \usepackage{arsclassica}
    \usepackage{tcolorbox}
    \usepackage{bookmark}
    \usepackage{tikz}
    \usepackage{pgfplots}
    \usepackage{tkz-euclide}
    \usepackage{tkz-fct}
    \usepackage{dpfloat}
    \usepackage{emptypage}

    \usetikzlibrary{matrix}

    \begin{document}

    \begin{figure}
    \centering
    \begin{tikzpicture}
    \begin{axis}[xbar,xmin=0,xmax=6,
    height=6.5cm,
    xmajorgrids=true,
    ytick pos=left,
    title={Altezza in cm degli alunni delle classi quinte},
    xlabel={Numero di alunni},
    symbolic y coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
    ytick=data,nodes near coords,
    nodes near coords align={horizontal}]
    \addplot [fill=cyan,draw=black] coordinates{
    (1,$158$) (2,$160$) (6,$165$) (3,$168$) (4,$174$) (3,$176$) (1,$184$)};
    \end{axis}
    \end{tikzpicture}
    \caption{Istogramma}
    \end{figure}

    \begin{figure}
    \centering
    \begin{tikzpicture}[x=7mm,y=7mm, x radius=7mm, y radius=7mm]
    \draw (0,0) circle (3);
    \draw [fill=orange] (0,0) — (0:3) arc (0:18:3);
    \draw [fill=brown] (0,0)– (18:3) arc (18:72:3);
    \draw [fill=green] (0,0)– (72:3) arc (72:162:3);
    \draw [fill=red] (0,0)– (162.6:3) arc (162:216:3);
    \draw [fill=blue] (0,0)– (216:3) arc (216:288:3);
    \draw [fill=olive] (0,0)– (288:3) arc (288:342:3);
    \draw [fill=lightgray] (0,0)– (342:3) arc (342:360:3);

    \node at (0,4) {Altezza in cm degli alunni delle classi prime};

    \begin{scope}[xshift=38mm,every node/.style={ anchor=center}]

    \matrix[matrix of nodes] at (0,0){
    \node[fill=orange]{}; & $158$ \\
    \node[fill=brown]{}; & $160$ \\
    \node[fill=green]{}; & $165$ \\
    \node[fill=red]{}; & $168$ \\
    \node[fill=blue]{}; & $174$ \\
    \node[fill=olive]{}; & $176$ \\
    \node[fill=lightgray]{}; & $184$ \\
    };
    \end{scope}
    \end{tikzpicture}
    \caption{Torta}
    \end{figure}

    \begin{figure}
    \caption{Frequenze assolute, relative e percentuali}
    \label{tab:relativealtezze}
    \centering
    \subfloat[][]{
    \begin{tikzpicture}
    \begin{axis}[xbar,xmin=0,xmax=6,
    height=6.5cm,
    xmajorgrids=true,
    ytick pos=left,
    title={Altezza in cm degli alunni delle classi quinte},
    xlabel={Numero di alunni},
    symbolic y coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
    ytick=data,nodes near coords,
    nodes near coords align={horizontal}]
    \addplot [fill=cyan,draw=black] coordinates{
    (1,$158$) (2,$160$) (6,$165$) (3,$168$) (4,$174$) (3,$176$) (1,$184$)};
    \end{axis}
    \end{tikzpicture}
    }
    \quad
    \subfloat[][]{
    \begin{tikzpicture}[x=7mm,y=7mm, x radius=7mm, y radius=7mm]
    \draw (0,0) circle (3);
    \draw [fill=orange] (0,0) — (0:3) arc (0:18:3);
    \draw [fill=brown] (0,0)– (18:3) arc (18:72:3);
    \draw [fill=green] (0,0)– (72:3) arc (72:162:3);
    \draw [fill=red] (0,0)– (162.6:3) arc (162:216:3);
    \draw [fill=blue] (0,0)– (216:3) arc (216:288:3);
    \draw [fill=olive] (0,0)– (288:3) arc (288:342:3);
    \draw [fill=lightgray] (0,0)– (342:3) arc (342:360:3);

    \node at (0,4) {Altezza in cm degli alunni delle classi prime};

    %\begin{scope}[xshift=38mm,every node/.style={ anchor=center}]
    %\matrix[matrix of nodes] at (0,0){
    %\node[fill=orange]{}; & $158$ \\
    %\node[fill=brown]{}; & $160$ \\
    %\node[fill=green]{}; & $165$ \\
    %\node[fill=red]{}; & $168$ \\
    %\node[fill=blue]{}; & $174$ \\
    %\node[fill=olive]{}; & $176$ \\
    %\node[fill=lightgray]{}; & $184$ \\
    %};
    %\end{scope}
    \end{tikzpicture}
    }
    \end{figure}
    \end{document}`
    Provate a decommentare le righe nella seconda subfig e incappate l’errore.

    Come rimediare? Qualcuno mi suggerisce un codice alternativo?

    Ovviamente, i vostri eventuali suggerimenti per migliorare il diagramma a torta sono più che benvenuti: il problema principale è che il diagramma è illeggibile se stampato in bianco e nero: ci vorrebbero dei riempimenti leggibili anche per chi non li vede a colori…

    Grazie,
    L.

    Go to top