Creazione di un'immagine tikz con 2 trame di seguito
-
29-10-2019 - |
Domanda
Ho una domanda riguardante la creazione di due grafici di seguito, utilizzando R con il dispositivo Package tikz per inviare il tikz a Latex.Quello che voglio fare è tracciare 2 grafici di seguito.La prima cosa che ho fatto è stato creare grafici nell'ambiente par(mfrow=c(1,2))
.Ma questo non funziona bene, perché i grafici sono come rettangoli verticali, quando si stampa con Latex.Quello che voglio è ottenere due immagini di seguito quadratiche.Quindi quello che ho fatto dopo, ho creato un layout:
Layout<- matrix(c(1, 2), nrow = 1, ncol=2, byrow = TRUE)
nf <- layout(mat = Layout, widths = c(1,1),heights = c(1,1), respect = TRUE)
layout.show(nf)
e ha tracciato i due grafici.Il risultato è quadratico (va bene), ma quando aggiungo una didascalia alle due trame (in Latex) è lontano dal grafico.Cosa dovrei fare?Qualsiasi pensiero è apprezzato!
Soluzione
Come menzionato da Greg, devi regolare la larghezza e l'altezza dell'area di disegno se desideri grafici quadrati ma non vuoi che R riempia grandi bordi di spazi bianchi.
Ecco un esempio minimo di utilizzo di Sweave:
\documentclass{article}
\usepackage{Sweave}
\usepackage{tikz}
<<echo=FALSE,results=hide>>=
require(tikzDevice)
@
\begin{document}
\begin{figure}
<<echo=FALSE,results=hide>>=
# Standard LaTeX article class has a \textwidth of ~4.5in
# Therefore, divide by 2 to get the right height.
tikz('layout-ex.tex', width = 4.5, height = 2.25)
Layout<- matrix(c(1, 2), nrow = 1, ncol=2, byrow = TRUE)
nf <- layout(mat = Layout, widths = c(1,1),heights = c(1,1), respect = TRUE)
layout.show(nf)
dev.off()
@
\centering
\input{layout-ex}
\label{fig:layout-ex}
\caption{A layout with two sub-figures}
\end{figure}
\end{document}
La figura risultante è simile a questa:
Altri suggerimenti
Hai specificato rispetto= TRUE, quindi ciò significa che i tuoi grafici all'interno del dispositivo occupano solo metà dell'altezza (se si utilizzano i valori predefiniti sul dispositivo tikz) e il resto dell'altezza è riempito con spazi bianchi.Quando aggiungi una didascalia, questa viene spostata dai grafici di quello spazio bianco.Quando apri il dispositivo tikz, imposta l'altezza e la larghezza in modo che l'altezza sia vicina alla metà della larghezza e dovresti finire con molto meno spazi bianchi alla fine e la didascalia sarà più vicina alle trame.