pgfplots:如何获取坐标,以样式绘制

pgfplots:如何获取坐标,以样式绘制

在此处输入图片描述

我画出这两个点

\fill[cyan] (yticklabel cs:0.5) coordinate[](X2) circle(2pt); 
\fill[red] (yticklabel* cs:0.5) coordinate[](X1) circle(2pt); 

所以我的问题是:我怎样才能将其作为一种风格,以便我可以说例如
\begin{axis}[drawpoints, ....]
必须有某种东西path pictureinsert path或......

这可能是一个有趣的问题,但我需要一些测量方法,并且我想灵活地使用该方法。

\documentclass[a4paper]{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}[]

\begin{axis}[
clip=false, 
ylabel=yLabel,
every y tick label/.append style={draw}, 
every axis y label/.append style={draw}, 
]
\addplot coordinates {(0,-500) (1,1) (2,2)};

\fill[cyan] (yticklabel cs:0.5) coordinate[](X2) circle(2pt); 
\fill[red] (yticklabel* cs:0.5) coordinate[](X1) circle(2pt); 
\end{axis}
\end{tikzpicture}
\end{document}

答案1

pgfplots有一些钩子可以让你在各个点插入代码,参见第 4.25 节其他选项pgfplots手册中。

不完全确定哪一个是最好的,但before end axis似乎可以完成工作:

\documentclass[a4paper]{article}
\usepackage{pgfplots}
\pgfplotsset{
  drawpoints/.style={
    before end axis/.code={
      \fill[cyan] (yticklabel cs:0.5) coordinate (X2) circle(2pt); 
      \fill[red] (yticklabel* cs:0.5) coordinate (X1) circle(2pt); 
    }
  }
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
drawpoints,
clip=false, 
ylabel=yLabel,
every y tick label/.append style={draw}, 
every axis y label/.append style={draw}, 
]
\addplot coordinates {(0,-500) (1,1) (2,2)};


\end{axis}
\end{tikzpicture}
\end{document}

相关内容