pgfplot 的边界框坐标
Bounding box coordinates for pgfplot
如何获取下面 pgfplot 的边界框坐标?我需要 pgfplot space 中的坐标。 (current axis.south west) 和 (current bounding box.south west) 例如,不要给我我需要的东西。我期待像 SW = (-7,-1.1), NE = (8.2,1.4) 这样的东西,它会延伸到红色矩形之外的右边。
\documentclass[border=0pt,multi=my]{standalone}
\usepackage{amssymb,amsmath}
\usepackage[pass,paperheight=\maxdimen]{geometry}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{xcolor}
\usepackage{pgf,tikz,pgfplots}
\usetikzlibrary{calc,shapes,positioning,fit,decorations,decorations.text,decorations.pathmorphing,backgrounds,patterns,arrows,arrows.meta}
\usepackage{ifthen}
\usepackage{pagecolor}
\tikzset{every picture/.style={line width=0.02cm}}
\begin{document}
\pagestyle{empty}
\begin{my}
\begin{tikzpicture}[tight background,background rectangle/.style={draw=none,fill=red!45},show background rectangle,scale=0.85]
\begin{axis}[
name=foo,
width=360pt,
height=210pt,
xmin=-7,
xmax=8,
ymin=-1.1,
ymax=1.4,
xtick={0},
xticklabels={[=10=]$},
ytick={0},
yticklabels={[=10=]$},
extra x ticks={-6.283185307,-4.71238898,-3.141592654,-1.570796327,0,1.570796327,3.141592654,4.71238898,6.283185307},
extra x tick labels={$-2\pi$,$-\frac{3\pi}{2}$,$-\pi$,$-\frac{\pi}{2}$,[=10=]$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,\pi$},
extra x tick style={
xticklabel style={below right},
},
extra y ticks={-1,1},
extra y tick labels={$-1$,$},
extra y tick style={
yticklabel style={right,xshift=5pt},
},
axis x line=center,
axis y line=center]
\addplot[line width=0.0325cm, cyan!60!black, domain=-7:7, samples=200] {sin(deg(x))};
\node at (axis cs:8.1,-0.12) {$x$};
\node[anchor=west] at (axis cs:0.1,1.3) {$y$};
\end{axis}
\end{tikzpicture}
\end{my}
\end{document}
听起来好像你在找\pgfplotspointgetnormalizedcoordinates{}
\documentclass[border=0pt,multi=my]{standalone}
\usepackage{amssymb,amsmath}
\usepackage[pass,paperheight=\maxdimen]{geometry}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{xcolor}
\usepackage{pgf,tikz,pgfplots}
\usetikzlibrary{calc,shapes,positioning,fit,decorations,decorations.text,decorations.pathmorphing,backgrounds,patterns,arrows,arrows.meta}
\usepackage{ifthen}
\usepackage{pagecolor}
\tikzset{every picture/.style={line width=0.02cm}}
\begin{document}
\pagestyle{empty}
\begin{my}%
\begin{tikzpicture}[tight background,background rectangle/.style={draw=none,fill=red!45},show background rectangle,scale=0.85]
\begin{axis}[
name=foo,
width=360pt,
height=210pt,
xmin=-7,
xmax=8,
ymin=-1.1,
ymax=1.4,
xtick={0},
xticklabels={[=10=]$},
ytick={0},
yticklabels={[=10=]$},
extra x ticks={-6.283185307,-4.71238898,-3.141592654,-1.570796327,0,1.570796327,3.141592654,4.71238898,6.283185307},
extra x tick labels={$-2\pi$,$-\frac{3\pi}{2}$,$-\pi$,$-\frac{\pi}{2}$,[=10=]$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,\pi$},
extra x tick style={
xticklabel style={below right},
},
extra y ticks={-1,1},
extra y tick labels={$-1$,$},
extra y tick style={
yticklabel style={right,xshift=5pt},
},
axis x line=center,
axis y line=center]
\addplot[line width=0.0325cm, cyan!60!black, domain=-7:7, samples=200] {sin(deg(x))};
\node (myx) at (axis cs:8.1,-0.12) {$x$};
\node[anchor=west] at (axis cs:0.1,1.3) {$y$};
\node[green] at (200,10) {
\pgfplotspointgetnormalizedcoordinates{(xticklabel cs:0)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/x}}
\pgfplotspointgetnormalizedcoordinates{(myx.east)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/x}}
\pgfplotspointgetnormalizedcoordinates{(yticklabel cs:0)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/y}}
\pgfplotspointgetnormalizedcoordinates{(yticklabel cs:1)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/y}}
};
\draw[green, ultra thick] (axis cs:-7,-1.1) rectangle (axis cs:8.41,1.4);
\end{axis}
\end{tikzpicture}%
\end{my}%
\end{document}
如何获取下面 pgfplot 的边界框坐标?我需要 pgfplot space 中的坐标。 (current axis.south west) 和 (current bounding box.south west) 例如,不要给我我需要的东西。我期待像 SW = (-7,-1.1), NE = (8.2,1.4) 这样的东西,它会延伸到红色矩形之外的右边。
\documentclass[border=0pt,multi=my]{standalone}
\usepackage{amssymb,amsmath}
\usepackage[pass,paperheight=\maxdimen]{geometry}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{xcolor}
\usepackage{pgf,tikz,pgfplots}
\usetikzlibrary{calc,shapes,positioning,fit,decorations,decorations.text,decorations.pathmorphing,backgrounds,patterns,arrows,arrows.meta}
\usepackage{ifthen}
\usepackage{pagecolor}
\tikzset{every picture/.style={line width=0.02cm}}
\begin{document}
\pagestyle{empty}
\begin{my}
\begin{tikzpicture}[tight background,background rectangle/.style={draw=none,fill=red!45},show background rectangle,scale=0.85]
\begin{axis}[
name=foo,
width=360pt,
height=210pt,
xmin=-7,
xmax=8,
ymin=-1.1,
ymax=1.4,
xtick={0},
xticklabels={[=10=]$},
ytick={0},
yticklabels={[=10=]$},
extra x ticks={-6.283185307,-4.71238898,-3.141592654,-1.570796327,0,1.570796327,3.141592654,4.71238898,6.283185307},
extra x tick labels={$-2\pi$,$-\frac{3\pi}{2}$,$-\pi$,$-\frac{\pi}{2}$,[=10=]$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,\pi$},
extra x tick style={
xticklabel style={below right},
},
extra y ticks={-1,1},
extra y tick labels={$-1$,$},
extra y tick style={
yticklabel style={right,xshift=5pt},
},
axis x line=center,
axis y line=center]
\addplot[line width=0.0325cm, cyan!60!black, domain=-7:7, samples=200] {sin(deg(x))};
\node at (axis cs:8.1,-0.12) {$x$};
\node[anchor=west] at (axis cs:0.1,1.3) {$y$};
\end{axis}
\end{tikzpicture}
\end{my}
\end{document}
听起来好像你在找\pgfplotspointgetnormalizedcoordinates{}
\documentclass[border=0pt,multi=my]{standalone}
\usepackage{amssymb,amsmath}
\usepackage[pass,paperheight=\maxdimen]{geometry}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{xcolor}
\usepackage{pgf,tikz,pgfplots}
\usetikzlibrary{calc,shapes,positioning,fit,decorations,decorations.text,decorations.pathmorphing,backgrounds,patterns,arrows,arrows.meta}
\usepackage{ifthen}
\usepackage{pagecolor}
\tikzset{every picture/.style={line width=0.02cm}}
\begin{document}
\pagestyle{empty}
\begin{my}%
\begin{tikzpicture}[tight background,background rectangle/.style={draw=none,fill=red!45},show background rectangle,scale=0.85]
\begin{axis}[
name=foo,
width=360pt,
height=210pt,
xmin=-7,
xmax=8,
ymin=-1.1,
ymax=1.4,
xtick={0},
xticklabels={[=10=]$},
ytick={0},
yticklabels={[=10=]$},
extra x ticks={-6.283185307,-4.71238898,-3.141592654,-1.570796327,0,1.570796327,3.141592654,4.71238898,6.283185307},
extra x tick labels={$-2\pi$,$-\frac{3\pi}{2}$,$-\pi$,$-\frac{\pi}{2}$,[=10=]$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,\pi$},
extra x tick style={
xticklabel style={below right},
},
extra y ticks={-1,1},
extra y tick labels={$-1$,$},
extra y tick style={
yticklabel style={right,xshift=5pt},
},
axis x line=center,
axis y line=center]
\addplot[line width=0.0325cm, cyan!60!black, domain=-7:7, samples=200] {sin(deg(x))};
\node (myx) at (axis cs:8.1,-0.12) {$x$};
\node[anchor=west] at (axis cs:0.1,1.3) {$y$};
\node[green] at (200,10) {
\pgfplotspointgetnormalizedcoordinates{(xticklabel cs:0)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/x}}
\pgfplotspointgetnormalizedcoordinates{(myx.east)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/x}}
\pgfplotspointgetnormalizedcoordinates{(yticklabel cs:0)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/y}}
\pgfplotspointgetnormalizedcoordinates{(yticklabel cs:1)}
\pgfmathprintnumber{\pgfkeysvalueof{/data point/y}}
};
\draw[green, ultra thick] (axis cs:-7,-1.1) rectangle (axis cs:8.41,1.4);
\end{axis}
\end{tikzpicture}%
\end{my}%
\end{document}