- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 7 anni, 1 mese fa da
OldClaudio.
-
CreatoreTopic
-
25 Luglio 2019 alle 13:16 #116137::
Buonasera a tutti, sono nuovo in questo forum. Ho letto le varie guide ma non riesco a risolvere un problema che riscontro nella stesura della tesi.
Cerco di essere il più breve possibile. Ho creato due grafici con l’ambiente tikzpicture, uno di fianco all’altro, il problema è che riesco a metterli all’inizio della pagina ma non al centro. Ho provato in diversi modi ma niente. Per farvi capire vi allego anche la foto di come esce ora. Come vedete ho i due grafici spostati verso destra invece li vorrei al centro allineati con il testo. Vi posto il codice.\begin{figure}
\centering
\begin{tikzpicture}[every axis/.style={width=7cm}]\begin{axis}[name=axis1] %axis 1
\addplot [mark=*,only marks] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{axis}[ %axis 2
xshift = 3in,
name=axis2]
\addplot [mark=*] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{scope}[every node/.style={text width=7cm,align=left}]
\node [below] at (axis1.south) {\captionof{figure}{First caption}};
\node [below] at (axis2.south) {\captionof{figure}{Second caption}};
\end{scope}
\end{tikzpicture}
\end{figure}Grazie mille in anticipo a tutti!
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
25 Luglio 2019 alle 13:46 #116138::
Benvenuto nel forum.Il problema è che la somma della larghezza dei due grafici è superiore alla gabbia del testo. La soluzione più veloce è usare un
`\resizebox{h}{v}{text}`
Per esempio:
`\documentclass{article}
\usepackage{caption,tikz,pgfplots,kantlipsum}
\begin{document}
\kant\begin{figure}
\centering
\resizebox{\textwidth}{!}{\begin{tikzpicture}[every axis/.style={width=7cm}]\begin{axis}[name=axis1] %axis 1
\addplot [mark=*,only marks] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{axis}[ %axis 2
xshift = 3in,
name=axis2]
\addplot [mark=*] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{scope}[every node/.style={text width=7cm,align=left}]
\node [below] at (axis1.south) {\captionof{figure}{First caption}};
\node [below] at (axis2.south) {\captionof{figure}{Second caption}};
\end{scope}
\end{tikzpicture}
}
\end{figure}
\kant
\end{document}`Ciao
Claudio
-
26 Luglio 2019 alle 6:28 #116139::
cfiandra” post=116553Benvenuto nel forum.
Il problema è che la somma della larghezza dei due grafici è superiore alla gabbia del testo. La soluzione più veloce è usare un
`\resizebox{h}{v}{text}`
Per esempio:
`\documentclass{article}
\usepackage{caption,tikz,pgfplots,kantlipsum}
\begin{document}
\kant\begin{figure}
\centering
\resizebox{\textwidth}{!}{\begin{tikzpicture}[every axis/.style={width=7cm}]\begin{axis}[name=axis1] %axis 1
\addplot [mark=*,only marks] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{axis}[ %axis 2
xshift = 3in,
name=axis2]
\addplot [mark=*] coordinates {
(0, -3)
(1, -1)
(2, 1)
(3, 3)
};\end{axis}
\begin{scope}[every node/.style={text width=7cm,align=left}]
\node [below] at (axis1.south) {\captionof{figure}{First caption}};
\node [below] at (axis2.south) {\captionof{figure}{Second caption}};
\end{scope}
\end{tikzpicture}
}
\end{figure}
\kant
\end{document}`Ciao
ClaudioGrazie mille Claudio! Ora funziona. Più avanti devo fare una cosa simile ma con 4 grafici, spero di riuscirci da solo.
Grazie ancora per la tempestiva risposta e buon fine settimana.
-
26 Luglio 2019 alle 12:24 #116140
-
29 Luglio 2019 alle 13:20 #116141::
cfiandra” post=116562
Grazie mille Claudio! Ora funziona. Più avanti devo fare una cosa simile ma con 4 grafici, spero di riuscirci da solo.
Grazie ancora per la tempestiva risposta e buon fine settimana.Prova a vedere [tt]groupplots[/tt] con pgfplots.
Ciao
ClaudioCiao Claudio, non sono riuscito con groupplots ma ce l’ho fatta con matrix. Però non riesco a risolvere lo stesso problema che avevo prima. Ovvero non riesco a mettere al centro il gruppo dei quattro grafici. Cioè allineati al centro, con il testo che c’è prima di loro. Ti posto il codice, riesci a darmi una mano? Te ne sarei davvero grato!
`\begin{tikzpicture}\matrix {
\begin{axis}
\addplot {x};
\end{axis}
&\begin{axis}
\addplot {x^2};
\end{axis}
\\\begin{axis}[xlabel=$x$,xlabel style={font=\Huge}]
\addplot {x^3};
\end{axis}
&
\begin{axis}
\addplot {x^4};
\end{axis}
\\ };
\end{tikzpicture}`Grazie mille!
-
30 Luglio 2019 alle 4:58 #116142::
Michael1997″ post=116563
[quote=”Michael1997″ post=116557] Grazie mille Claudio! Ora funziona. Più avanti devo fare una cosa simile ma con 4 grafici, spero di riuscirci da solo.
Grazie ancora per la tempestiva risposta e buon fine settimana.Prova a vedere [tt]groupplots[/tt] con pgfplots.
Ciao
ClaudioCiao Claudio, non sono riuscito con groupplots ma ce l’ho fatta con matrix. Però non riesco a risolvere lo stesso problema che avevo prima. Ovvero non riesco a mettere al centro il gruppo dei quattro grafici. Cioè allineati al centro, con il testo che c’è prima di loro. Ti posto il codice, riesci a darmi una mano? Te ne sarei davvero grato!
`\begin{tikzpicture}\matrix {
\begin{axis}
\addplot {x};
\end{axis}
&\begin{axis}
\addplot {x^2};
\end{axis}
\\\begin{axis}[xlabel=$x$,xlabel style={font=\Huge}]
\addplot {x^3};
\end{axis}
&
\begin{axis}
\addplot {x^4};
\end{axis}
\\ };
\end{tikzpicture}`Grazie mille![/quote] Prova con: `\documentclass{article}\usepackage{caption,tikz,pgfplots,kantlipsum}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.16}% l'ultima versione di pgfplots\begin{document}
\kant\begin{figure}
\centering
\resizebox{\textwidth}{!}{\begin{tikzpicture}
\begin{groupplot}[group style={group size=2 by 2, horizontal sep=2cm, vertical sep=2cm}]\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.0004, ymax=0.0012,
ylabel={$\phi_{\mathrm{i}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(0,0.0005)(15000,0.001)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.2, ymax=1.2,
ylabel={$h(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(0,0.5)(15000,1)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.0004, ymax=0.0012,
ylabel={$\phi_{\mathrm{o}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(1000,0.0004)(15000,0.001)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=2000, ymax=12000,
ylabel={$p_{\mathrm{i}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(5000,2010)(19000,11500)};\end{groupplot}
\end{tikzpicture}
}
\end{figure}
\kant
\end{document}` e controlla la libreria groupplots sul manuale di pgfplots (da terminale [tt]texdoc pgfplots[/tt]).Ciao
Claudio
-
30 Luglio 2019 alle 6:55 #116143::
cfiandra” post=116564
[quote=”cfiandra” post=116562][quote=”Michael1997″ post=116557] Grazie mille Claudio! Ora funziona. Più avanti devo fare una cosa simile ma con 4 grafici, spero di riuscirci da solo.
Grazie ancora per la tempestiva risposta e buon fine settimana.Prova a vedere [tt]groupplots[/tt] con pgfplots.
Ciao
ClaudioCiao Claudio, non sono riuscito con groupplots ma ce l’ho fatta con matrix. Però non riesco a risolvere lo stesso problema che avevo prima. Ovvero non riesco a mettere al centro il gruppo dei quattro grafici. Cioè allineati al centro, con il testo che c’è prima di loro. Ti posto il codice, riesci a darmi una mano? Te ne sarei davvero grato!
`\begin{tikzpicture}\matrix {
\begin{axis}
\addplot {x};
\end{axis}
&\begin{axis}
\addplot {x^2};
\end{axis}
\\\begin{axis}[xlabel=$x$,xlabel style={font=\Huge}]
\addplot {x^3};
\end{axis}
&
\begin{axis}
\addplot {x^4};
\end{axis}
\\ };
\end{tikzpicture}`Grazie mille![/quote] Prova con: `\documentclass{article}\usepackage{caption,tikz,pgfplots,kantlipsum}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.16}% l'ultima versione di pgfplots\begin{document}
\kant\begin{figure}
\centering
\resizebox{\textwidth}{!}{\begin{tikzpicture}
\begin{groupplot}[group style={group size=2 by 2, horizontal sep=2cm, vertical sep=2cm}]\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.0004, ymax=0.0012,
ylabel={$\phi_{\mathrm{i}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(0,0.0005)(15000,0.001)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.2, ymax=1.2,
ylabel={$h(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(0,0.5)(15000,1)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=0.0004, ymax=0.0012,
ylabel={$\phi_{\mathrm{o}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(1000,0.0004)(15000,0.001)};\nextgroupplot[%
width=3cm,
height=3cm,
scale only axis,
every x tick label/.append style={font=\scriptsize\color{gray!80!black}},
xmin=0, xmax=20000,
xlabel={$t$},
xmajorgrids,
xminorgrids,
every y tick label/.append style={font=\scriptsize\color{gray!80!black}},
ymin=2000, ymax=12000,
ylabel={$p_{\mathrm{i}}(t)$},
ymajorgrids,
yminorgrids]
\addplot coordinates{(5000,2010)(19000,11500)};\end{groupplot}
\end{tikzpicture}
}
\end{figure}
\kant
\end{document}` e controlla la libreria groupplots sul manuale di pgfplots (da terminale [tt]texdoc pgfplots[/tt]).Ciao
Claudio[/quote]Cosi funziona, grazie mille! L’unico problema è che me lo mette all’inizio della pagina e non sotto il titolo come scritto da codice.
\newpage
\subsection{Successioni indeterminate}
\begin{definition}Una successione \{$a_n$\} si dice indeterminata se non è ne convergente ne divergente. Cioè il $\lim_{n \to +\infty}a_n $ non esiste \\
\end{definition}
\subsection{Grafici a confronto} \vspace{2cm}
\begin{figure}
\centering
\resizebox{\textwidth}{!}{\begin{tikzpicture}
\begin{groupplot}[group style={group size=2 by 2, horizontal sep=2cm, vertical sep=2cm}]\nextgroupplot[%
ymin = -1.5, ymax = 3, axis x line=middle, axis y line=left, width = 6cm, height = 6cm, title = ciao]
\addplot [mark=*,only marks] coordinates {
(0, -1)
(1, 0)
(2, 1)
(3, 2)
};\nextgroupplot[%
ymin = -3, ymax = 3, axis x line=middle, axis y line=left, width = 6cm, height = 6cm, title = ciao]
\addplot [mark=*,only marks] coordinates {
(0, -1)
(1, -2)
(2, -3)
(3, -4)
};\nextgroupplot[ymin = -1.5, ymax = 4, axis x line=middle, axis y line=left, width = 6cm, height = 6cm]
\addplot [mark=*,only marks] coordinates {
(1, 1.5)
(0, 3)
(2, 2.3)
(3, 1.8)};
\draw[gray] (axis cs: 3.85,2) — (axis cs: 0,2);\nextgroupplot[ ymin = -2, ymax = 3, axis x line=middle, axis y line=left, width = 6cm, height = 6cm]
\addplot [mark=*,only marks] coordinates {
(1, -1)
(0, 1)
(2, 1)
(3, -1)};
\end{groupplot}
\end{tikzpicture}
}
\end{figure}
Attachments:
You must be logged in to view attached files. -
30 Luglio 2019 alle 8:08 #116144
-
30 Luglio 2019 alle 20:32 #116145::
Sì, certo con H ci riesci, ma commetti un errore tiografico: infatti in tipografia non si inserisce mai qualsiasi cosa fuori testo dopo un titolo; invece scrivi il titolo seguito da poche righe di testo e poi inserisci il codice epr la figura; se la figura fluisce nella pagina successiva prova a comporla con i codice=i di posizione !hb (con il punto esclamativo); se nonostante questo la figura flotta nella pagina successiva, vuol dire che è davvero troppo grande.
Ma, ripeto, quello che fa LaTeX senza disturbarlo con il codice H (che dovrebbe essere vietato…) è tipgraficamente corretto.Dimenticati di quello che puoi fare con i Word Processor; se non sono usati con grandissima maestria, essi non sono altro che delle macchine da scrivere un po’ più versatili, ma non hanno nulla a che vedere con la tipografia.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.