pgfplots Sabit Genişlikli Şekil
Eksen etiketleri ve gösterge girişleri dahil olmak üzere toplam boyutları ayarlanmış bağımsız bir pgfplots figürünü nasıl oluşturabilirim?
width=5cm, height=5cm,Grafik boyutlarını pgfplots ile ayarlarsam, bana sadece yaklaşık olarak bu boyutta toplam bir rakam verir . Ek olarak, bir gösterge eksen kutusunun dışına yerleştirilirse, açıklama boyutları belirtilen boyutlara eklenir. Kılavuz, ( 4.10.1 Ortak Ölçeklendirme Seçenekleri ) şunları belirtir :
Lütfen pgfplots'un yalnızca eksen ve işaret etiketleri için gereken boyutu tahmin ettiğini unutmayın. Tahmin, eksen kutusunun dışındaki herhangi bir şey için sabit bir alan miktarını varsayar. Bu, nihai görüntülerin belirtilen boyutlardan biraz daha büyük veya biraz daha küçük olabileceği etkisine sahiptir.
ve Ötesi
Yalnızca eksen ölçekle = false (varsayılan) ise, pgfplots etiketler, başlıklar ve işaretler dahil olmak üzere istenen genişliği oluşturmaya çalışır .
Benim MWE'm:
\documentclass[crop]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
%Grouping
scale only axis=false,
height=,
width=10cm,
%Domain
xmin=2000, xmax=2020,
ymode=log,
%Ticks
/pgf/number format/1000 sep={},
%Axis Labels
ylabel= Price \text{[}\$(2020)/kg\text{]},
%Legend
legend cell align={left},
legend pos=outer north east,
legend style={draw=none},
legend entries={Entry},
]
\addplot[draw=none] coordinates {(2005,10000)};
\end{axis}
\end{tikzpicture}
\end{document}
Aşağıda, John Kormylo tarafından yayınlanan çözümün görsel temsili bulunmaktadır :
Yanıtlar
Korkunç görünüyor, ancak 5 cm'ye 5 cm'lik bir dikdörtgene tam olarak uyuyor.
\documentclass[crop]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}% reducndant
\usepackage{pgfplots}
\newsavebox{\temp}
\begin{document}
\savebox{\temp}{\begin{tikzpicture}
\begin{axis}[
%Grouping
name=border,
height=5cm,
width=5cm,
%Domain
xmin=2000, xmax=2020,
ymode=log,
%Ticks
/pgf/number format/1000 sep={},
%Axis Labels
ylabel= Price \lbrack\$(2020)/kg\rbrack, %Legend legend cell align={left}, legend pos=outer north east, legend style={draw=none}, legend entries={Entry}, ] \addplot[draw=none] coordinates {(2005,10000)}; \end{axis} \end{tikzpicture}}% trial \begin{tikzpicture} \begin{axis}[ %Grouping name=border, height={\dimexpr 10cm-\ht\temp}, width={\dimexpr 10cm-\wd\temp}, %Domain xmin=2000, xmax=2020, ymode=log, %Ticks /pgf/number format/1000 sep={}, %Axis Labels ylabel= Price \lbrack\$(2020)/kg\rbrack,
%Legend
legend cell align={left},
legend pos=outer north east,
legend style={draw=none},
legend entries={Entry},
]
\addplot[draw=none] coordinates {(2005,10000)};
\end{axis}
\draw[red] (current bounding box.south west) rectangle (current bounding box.north east);
\draw[green] (current bounding box.south west) rectangle ++(5cm,5cm);
\end{tikzpicture}
\end{document}