Tikz,情节之外的文本

Tikz,情节之外的文本

在此处输入图片描述我刚刚使用 matlab2tikz 包含了 matlab 图形。我的图形中有注释。这些注释位于绘图区域之外,以防止与数据重叠。但现在我还希望我的 latex 文件中绘图之外的注释。如果可能的话,我想将其实现到 tikz 文件中(而不是 latex 文件中)。

我尝试使用“minipage

http://tex.stackexchange.com/questions/99224/putting-text-at-the-side-of-a-tikzpicture

setting clip=false(什么也没做)

小型页面可以工作,但是当我在乳胶中调整绘图大小时,注释并没有缩放,现在在绘图中只占了一半。

using node[text width=6cm, anchor=west, right] at (5,0)
    {In this diagram, what can you say about $\angle F$, $\angle B$ and $\angle E$?};

来自同一链接(无效)

我对 Tikz 不是很熟悉。我刚刚尝试了一些不同的方法,但似乎都没有用。

这是 tikz 文件:

    \begin{tikzpicture}
\begin{axis}[%
width=0.951\figurewidth,
height=\figureheight,
at={(0\figurewidth,0\figureheight)},
scale only axis,
xmin=30,
xmax=330,
xlabel={$\text{T}_{\text{surr}}\text{ (K)}$},
ymin=0,
ymax=120,
ylabel={$\text{Q}_{\text{Cooling}}\text{ (W)}$},
axis background/.style={fill=white},
title style={font=\bfseries},
title={Cooling power for surrounding temperatures},
axis x line*=bottom,
axis y line*=left
]
\addplot [color=mycolor1,solid,forget plot]
  table[row sep=crcr]{%
30  6.97463548006898\\
60  7.00516177264937\\
90  7.36872538108224\\
120 8.92825821383692\\
150 12.7097699247381\\
180 19.3898073983116\\
210 29.107506124354\\
240 42.0222333872511\\
270 58.3725938451868\\
300 78.4696582472676\\
330 102.691450312509\\
};
\end{axis}

\begin{axis}[%
width=1.227\figurewidth,
height=1.227\figureheight,
at={(-0.16\figurewidth,-0.135\figureheight)},
scale only axis,
xmin=0,
xmax=1,
ymin=0,
ymax=1,
hide axis,
axis x line*=bottom,
axis y line*=left
]
**\node[below right, align=left, text=black, draw=black]
at (rel axis cs:0.75,0.15) {G10 \\$\text{ }\epsilon\text{ = 1 }$\\ F = 1 \\$\text{ T}_{\text{start}}\text{ = 330 }$\\$\text{ T}_{\text{end}}\text{ = 30 }$\\$\text{ dT}_{\text{max}}\text{ = 1 }$\\ N = 100};**
\end{axis}
\end{tikzpicture}%

答案1

如果您将clip=false第二个axis环境添加到包含注释的环境中,您的代码将正常工作node。完成此操作后,您可以通过更改的坐标将其移动到您选择的位置\node

也就是说,第二个axis环境在这里并不是真正必要的,您不妨将它添加到第一个axis环境内部,或者直接添加到其外部,并将其相对于轴放置。

下面的代码演示了这两个选项。请注意,我已添加name=MyAxisaxis选项中,并且节点位于MyAxis.north east。我不知道G10是什么,但它看起来像是某种标题,因此文本加粗。当然,如果您不想要它,请将其删除\textbf。我还使用 设置了值列表aligned

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots,amsmath}
\newlength{\figurewidth}
\setlength{\figurewidth}{10cm}
\newlength{\figureheight}
\setlength{\figureheight}{5cm}

\begin{document}
\begin{tikzpicture}
\begin{axis}[%
name=MyAxis,
width=0.951\figurewidth,
height=\figureheight,
at={(0\figurewidth,0\figureheight)},
scale only axis,
xmin=30,
xmax=330,
xlabel={${T}_{\text{surr}}\text{ (K)}$},
ymin=0,
ymax=120,
ylabel={$\text{Q}_{\text{Cooling}}\text{ (W)}$},
axis background/.style={fill=white},
title style={font=\bfseries},
title={Cooling power for surrounding temperatures},
axis x line*=bottom,
axis y line*=left,
%clip=false %uncomment this if you want the annotation outside the axis
]
\addplot [color=blue,solid,forget plot]
  table[row sep=crcr]{%
30  6.97463548006898\\
60  7.00516177264937\\
90  7.36872538108224\\
120 8.92825821383692\\
150 12.7097699247381\\
180 19.3898073983116\\
210 29.107506124354\\
240 42.0222333872511\\
270 58.3725938451868\\
300 78.4696582472676\\
330 102.691450312509\\
};

\node[below right, align=center, text=black]
at (rel axis cs:0.1,0.9) {\textbf{G10} \\
$\begin{aligned} 
\epsilon &= 1\\
 F &= 1 \\
T_{\text{start}} &= 330 \\
T_{\text{end}} &= 30\\
\mathrm{d}T_{\text{max}}&= 1\\
 N &= 100
\end{aligned}$};

\end{axis}

\node[below right, align=center, text=black]
at (MyAxis.north east) {%
\textbf{G10} \\
$\begin{aligned} 
\epsilon &= 1\\
 F &= 1 \\
T_{\text{start}} &= 330 \\
T_{\text{end}} &= 30\\
\mathrm{d}T_{\text{max}}&= 1\\
 N &= 100
\end{aligned}$};
\end{tikzpicture}%
\end{document}

相关内容