
Bisher habe ich resizebox und tikzpicture xscale/yscale ausprobiert. Sie strecken alle Beschriftungen (einschließlich des Titels) und lassen sie sehr hässlich aussehen. Gibt es eine Möglichkeit, dies zu vermeiden?
Oben ist, was ich bekomme, unten ist, was ich will (aus Ahorn gefertigt):
Codebeispiel:
\documentclass[landscape]{article}
\usepackage{pgfplots}
\usepackage{tabularx}
\usepackage[margin=0.1in]{geometry}
\pgfplotsset{every axis x label/.append style={font=\tiny, yshift=0.8em}, every axis y label/.append style={font=\tiny, yshift=-2em}, every tick label/.append style={font=\tiny}}
\begin{document}
\newpage
\begin{figure}[h]
\centering
\begin{tikzpicture}[yscale=2.5, xscale = 3.5]
\begin{axis}[xlabel={t (fs)},
ylabel={C (eV)},
xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},
enlargelimits = false,
ymajorgrids=true,
grid style=solid,
title = {C(t)}]
\addplot[color=red, mark=none]
coordinates {
(0,80)
(1,0)
(2,-10)
(3,0)
(4,60)
(5,70)
(6,60)
(7,0)
(8,-10)
(9,0)
(10,50)
(11,60)
(12,50)
(13,0)
(14,-10)
(15,0)
(16,40)
(17,50)
(18,40)
(19,0)
(20,-10)
(21,0)
(22,30)
(23,40)
(24,30)
(25,0)
};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Antwort1
Wie Sie lesen könnenHierSie können einfach scale only axis
die Größe des gesamten Diagramms ändern, nicht jedoch die Beschriftungen skalieren.
Zwei: Mit der Option wird ein glatter Plot erreicht smooth
. Und um Grenzen zu haben, können Sie xmin
, xmax
, ymin
und verwenden ymax
.
Code (ich habe ihn entfernt, \tiny
um den Effekt wirklich sichtbar zu machen):
\documentclass[landscape]{article}
\usepackage{pgfplots}
\usepackage{tabularx}
\usepackage[margin=0.1in]{geometry}
%\pgfplotsset{every axis x label/.append style={font=\tiny, yshift=0.8em}, every axis y label/.append style={font=\tiny, yshift=-2em}, every tick label/.append style={font=\tiny}}
\begin{document}
\newpage
\begin{figure}[h]
\centering
\begin{tikzpicture}%[yscale=2.5, xscale = 3.5]
\begin{axis}[height=.7\paperheight,width=.6\linewidth,scale only axis,xlabel={t (fs)},
ylabel={C (eV)},
xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},
enlargelimits = false,
ymajorgrids=true,
grid style=solid,
title = {C(t)}]
\addplot[color=red, mark=none,smooth]
coordinates {
(0,80)
(1,0)
(2,-10)
(3,0)
(4,60)
(5,70)
(6,60)
(7,0)
(8,-10)
(9,0)
(10,50)
(11,60)
(12,50)
(13,0)
(14,-10)
(15,0)
(16,40)
(17,50)
(18,40)
(19,0)
(20,-10)
(21,0)
(22,30)
(23,40)
(24,30)
(25,0)
};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}