- Questo topic ha 16 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 1 mese fa da
Pete.
-
CreatoreTopic
-
24 Luglio 2014 alle 12:02 #95578::
Ciaouso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).
Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?
EMC
`
\documentclass{standalone}
\usepackage{tikz}\usepackage{kpfonts}
\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
\draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
\draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
\end{tikzpicture}
\end{document}
`Risultato pdf in allegato (se firefox non da problemi).
Ciao
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
24 Luglio 2014 alle 12:08 #95579::
DirkPitt” post=95180Ciao
uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).
Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?
EMC
`
\documentclass{standalone}
\usepackage{tikz}\usepackage{kpfonts}
\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
\draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
\draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
\end{tikzpicture}
\end{document}
`Risultato pdf in allegato (se firefox non da problemi).
Ciao
In realtà non sbagli nulla. Il problema è dovuto al meccanismo con cui sono disegnate le frecce: per il computo della bounding box solo il segmento conta, perciò la parte inferiore della punta viene tagliata.
Soluzione veloce: aggiungi l’opzione [tt]border=4pt[/tt] alla classe. Il valore può essere cambiato a piacimento e normalmente è settato a 0pt.
Ciao
Claudio
-
24 Luglio 2014 alle 12:26 #95580::
Ciao, grazie per il suggerimentodue domande:
1. Si puo’ calcolare di quanto “sborda” la freccia?
2. Si possono settare i bordi separatamente sui 4 lati?Ciao
cfiandra” post=95182
Ciao
uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).
Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?
EMC
`
\documentclass{standalone}
\usepackage{tikz}\usepackage{kpfonts}
\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
\draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
\draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
\end{tikzpicture}
\end{document}
`Risultato pdf in allegato (se firefox non da problemi).
Ciao
In realtà non sbagli nulla. Il problema è dovuto al meccanismo con cui sono disegnate le frecce: per il computo della bounding box solo il segmento conta, perciò la parte inferiore della punta viene tagliata.
Soluzione veloce: aggiungi l’opzione [tt]border=4pt[/tt] alla classe. Il valore può essere cambiato a piacimento e normalmente è settato a 0pt.
Ciao
Claudio -
24 Luglio 2014 alle 12:50 #95581::
Ti propongo un altro sistema su cui ripiegare per questi casi in cui standalone non funziona bene. Compila con la classe article e dando \pagestyle{empty} per rimuovere il numero di pagina. Apri la shell di comando (la console, spero di essere chiaro) e portati nella cartella dove si trovano il file tex e il file pdf. Dai poi il comando [tt]pdfcrop nome.pdf[/tt] dove “nome.pdf” sarà il tuo pdf. Questo programmino, installato nativamente nelle distribuzioni tex è in grado di scontornare i pdf (per questo devi rimuovere il numero di pagina, altrimenti ritaglia solo fino al numero).
-
24 Luglio 2014 alle 13:44 #95582::
Certo, conosco pdfcrop. Se spulci nel forum c’e’ una conversazione fra me e uno degli esperti (non ricordo chi), in cui si propone uno script bash che “croppa” tutti i pdf in una cartella, molto utile in questo caso.Tuttavia preferirei che funzionasse standalone!
Altra questione: perche’ questo codice mi produce un pdf di due pagine anziche’ una sola pagina?
`
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}
\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}
\end{document}
`skevin93″ post=95185Ti propongo un altro sistema su cui ripiegare per questi casi in cui standalone non funziona bene. Compila con la classe article e dando \pagestyle{empty} per rimuovere il numero di pagina. Apri la shell di comando (la console, spero di essere chiaro) e portati nella cartella dove si trovano il file tex e il file pdf. Dai poi il comando [tt]pdfcrop nome.pdf[/tt] dove “nome.pdf” sarà il tuo pdf. Questo programmino, installato nativamente nelle distribuzioni tex è in grado di scontornare i pdf (per questo devi rimuovere il numero di pagina, altrimenti ritaglia solo fino al numero).
-
24 Luglio 2014 alle 13:54 #95583::
Rispondo ad entrambe le richieste.Si, si può calcolare quanto sborda la freccia: devi andare a prendere il codice della tipo stealth (in pgflibraryarrows.code.tex mi pare) e tenere in considerazione metà della punta. Secondo me fai prima a dando un paio di valori di prova all’opzione border.
Mi sembra si possa settare margini separatamente, in maniera simile a quanto si fa con pdfcrop, ma devi guardare sulla documentazione.
L’ultimo codice ti produce due pagine perché hai due figure. Ciò accade quando si passa l’opzione [tt]tikz[/tt] alla classe.
Ciao
Claudio
-
24 Luglio 2014 alle 14:57 #95584::
cfiandra” post=95188Rispondo ad entrambe le richieste.
Si, si può calcolare quanto sborda la freccia: devi andare a prendere il codice della tipo stealth (in pgflibraryarrows.code.tex mi pare) e tenere in considerazione metà della punta. Secondo me fai prima a dando un paio di valori di prova all’opzione border.
sono andato a vedere, dovrebbe essere molto semplice:
`
\documentclass[%
border={0pt 0pt 20pt 0pt} %left right bottom top
]{standalone}
\begin{document}
$2^5 = x_5 \times y^8$
\end{document}
`cfiandra” post=95188
Mi sembra si possa settare margini separatamente, in maniera simile a quanto si fa con pdfcrop, ma devi guardare sulla documentazione.L’ultimo codice ti produce due pagine perché hai due figure. Ciò accade quando si passa l’opzione [tt]tikz[/tt] alla classe.
Ciao
ClaudioUff, me l’ero dimenticato fra varie prove.
Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?
Ciao
-
25 Luglio 2014 alle 4:39 #95585
-
25 Luglio 2014 alle 5:07 #95586::
CiaoIl seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`cfiandra” post=95199
Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?
Beh, se non passi l’opzione [tt]tikz[/tt] alla classe e tutte le figure hanno la bounding box con il limite inferiore uguale sei a posto.
Ciao
Claudio -
25 Luglio 2014 alle 5:24 #95587::
DirkPitt” post=95204Ciao
Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`È quello che dicevo prima: la parte inferiore della bounding box deve essere uguale. Tradotto: se in una figura hai delle etichette sull’asse x e sull’altra no, la prima occupa più spazio in basso rispetto alla seconda. Quindi non sono allineate.
Hai diverse opzioni: la prima è di usare il comando [tt]\useboundingbox[/tt] per definire a mano la bounding box. Dovresti in sostanza disegnare un quadrato immaginario per ogni figura, ovviamente ogni quadrato deve comprendere la figura. Tenendo come riferimento l’asse x, il quadrato della prima figura dovrebbe essere leggermente più grande verso il basso rispetto al quadrato della seconda. Quindi è un’opzione da lasciare perdere se non sai esattamente ciò che stai facendo.
Tralasciando altre soluzioni un po’ impraticabili, quella più elegante è sicuramente di usare per entrambe le figure le stesse etichette per l’asse x. In questo modo siamo sicuri che occupino lo stesso spazio in basso. Poi, le rendiamo opache solo nella prima figura e il gioco è fatto. In termini di codice: `
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
fai sparire le etichette/.style={
xtick style={opacity=0},
xticklabel style={opacity=0},
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
fai sparire le etichette,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
` Non l’ho testato, ma dovrebbe funzionare.Ciao
Claudio
-
25 Luglio 2014 alle 5:36 #95588::
DirkPitt” post=95204Ciao
Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
Se vuoi i due grafici allineati in verticale e contemporaneamente utilizzare [tt]standalone[/tt], perché non creare due fradici separati con questa classe e per poi incorporarli nel documento principale come meglio credi.
Personalmente preferisco l’ultimo esempio creato da Claudio con i grafici alienati in orizzontale e con gli assi delle ascisse alla stessa altezza.
Ciao
-
25 Luglio 2014 alle 5:48 #95589::
Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁cfiandra” post=95208
Ciao
Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
`
\documentclass[border 2pt]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`È quello che dicevo prima: la parte inferiore della bounding box deve essere uguale. Tradotto: se in una figura hai delle etichette sull’asse x e sull’altra no, la prima occupa più spazio in basso rispetto alla seconda. Quindi non sono allineate.
Hai diverse opzioni: la prima è di usare il comando [tt]\useboundingbox[/tt] per definire a mano la bounding box. Dovresti in sostanza disegnare un quadrato immaginario per ogni figura, ovviamente ogni quadrato deve comprendere la figura. Tenendo come riferimento l’asse x, il quadrato della prima figura dovrebbe essere leggermente più grande verso il basso rispetto al quadrato della seconda. Quindi è un’opzione da lasciare perdere se non sai esattamente ciò che stai facendo.
Tralasciando altre soluzioni un po’ impraticabili, quella più elegante è sicuramente di usare per entrambe le figure le stesse etichette per l’asse x. In questo modo siamo sicuri che occupino lo stesso spazio in basso. Poi, le rendiamo opache solo nella prima figura e il gioco è fatto. In termini di codice: `
\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
fai sparire le etichette/.style={
xtick style={opacity=0},
xticklabel style={opacity=0},
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
fai sparire le etichette,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
` Non l’ho testato, ma dovrebbe funzionare.Ciao
Claudio -
25 Luglio 2014 alle 6:12 #95590::
DirkPitt” post=95214Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁
😳 È perché oggi non ne azzecco una!
Ma se le vuoi allineate verticalmente, non è meglio usare l’opzione [tt]tikz[/tt] per verifica? In questo caso credo sia conveniente definirsi a mano la bounding box.
`\documentclass
{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}`
Ciao
Claudio
-
25 Luglio 2014 alle 6:33 #95591::
ma con l’opzione tikz nella classe mi crea un pdf di 2 immagini, come mi hai detto tu stesso ieri!cfiandra” post=95216
Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁
😳 È perché oggi non ne azzecco una!
Ma se le vuoi allineate verticalmente, non è meglio usare l’opzione [tt]tikz[/tt] per verifica? In questo caso credo sia conveniente definirsi a mano la bounding box.
`\documentclass[border=2pt,tikz]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}`
Ciao
Claudio -
25 Luglio 2014 alle 6:51 #95592::
Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`
-
25 Luglio 2014 alle 7:02 #95593::
skevin93″ post=95219Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`Hai ragione.
Stavo facendo anch’io delle prove, però con l’opzione [tt]multi[/tt] (della classe [tt]standalone[/tt]), ma sebbene l’allineamento dei grafici fosse verticale, il crop risultava non essere soddisfacente!
Saluti
-
25 Luglio 2014 alle 7:53 #95594::
Perfetto!grazie, ciao
skevin93″ post=95219Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.