Question

J'ai une question concernant la création de deux tracés d'affilée, en utilisant R avec un appareil Tikz Package pour envoyer le Tikz à latex. Ce que je veux faire, c'est tracer 2 graphiques d'affilée. Ce que j'ai fait en premier, c'était de créer pour complots dans le par(mfrow=c(1,2)) ambiance. Mais cela ne fonctionne pas bien, car les parcelles sont comme des rectangles verticaux, lors de l'impression avec le latex. Ce que je veux avoir, c'est obtenir deux images d'affilée qui sont quadratiques. Alors ce que j'ai fait ensuite, j'ai créé une mise en page:

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)

et tracé les deux graphiques. Le résultat est quadratique (c'est bien), mais lorsque j'ajoute une légende aux deux tracés (en latex), il est loin du graphique. Que suis-je supposé faire? Tous les thougts sont appréciés!

Était-ce utile?

La solution

Comme Greg l'a mentionné, vous devez ajuster la largeur et la hauteur de la toile de parcelle si vous voulez des parcelles carrées mais que vous ne voulez pas que R remplisse les grosses bordures de l'espace.

Voici un exemple minimal en utilisant un 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 figure résultante ressemble à ceci:

Example of using Layout

Autres conseils

Vous avez spécifié le respect = true, donc cela signifie que vos parcelles dans l'appareil ne prennent que la moitié de la hauteur (si vous utilisez des valeurs par défaut sur le périphérique TIKZ) et le reste de la hauteur est rempli d'espace. Lorsque vous ajoutez une légende, il est décalé des tracés par cet espace. Lorsque vous ouvrez le périphérique TIKZ, définissez la hauteur et la largeur afin que la hauteur soit proche de la moitié de la largeur et vous devriez vous retrouver avec beaucoup moins d'espace dans la fin et la légende sera plus proche des parcelles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top