軸上の点にラベルを付けるにはどうすればいいですか?

軸上の点にラベルを付けるにはどうすればいいですか?

x 軸上の点 (0.5066,-5.4) にラベルを付けたいのですが、ラベルの上半分を表示するコードを使用しようとしています\node[label={180:{($\varepsilon_{cor}$)}},circle,fill,inner sep=2pt] at (axis cs:0.5066,-5.4) {};。軸上の点にラベルを付けて、目盛りのように軸の下に配置して、目盛りを変更しないようにするにはどうすればよいですか?

ここに画像の説明を入力してください

\begin{tikzpicture} 
    \pgfplotsset{width=10cm,}
        \begin{axis}[
            xlabel={$\varepsilon$ /\si{\volt}},
            ylabel={$\lg \vert I \vert$},
            axis lines = box,
            xmin=0.18, xmax=0.82,
            ymin=-5.4, ymax=-2.9,
            xtick={0.2,0.3,0.4,0.5,0.6,0.7,0.8},
            ytick={-5,-4.5,-4,-3.5,-3,-2.5,-2},
            ymajorgrids=true,
            grid style=dashed,]
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.2208 ,-3.05061)
            (0.2809 ,-3.1549 )
            (0.3309 ,-3.26761)
            (0.3709 ,-3.38722)
            (0.4008 ,-3.49485)
            (0.4208 ,-3.58503)
            (0.4309 ,-3.63827)
            (0.4408 ,-3.69897)
            (0.4508 ,-3.76955)
            (0.4609 ,-3.85387)
            (0.4708 ,-3.95861)
            (0.4759 ,-4.04576)
            (0.4808 ,-4.09691)
            (0.4858 ,-4.22185)
            (0.4909 ,-4.30103)
            (0.4958 ,-4.52288)
            (0.4978 ,-4.52288)
            (0.4998 ,-4.69897)
            (0.5019 ,-5      )
            (0.5039 ,-5      )
            (0.5063 ,-5.41   )}; 
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.5066 ,-5.41   )  
            (0.5101 ,-5      )  
            (0.5121 ,-5      )  
            (0.5141 ,-4.69897)  
            (0.5161 ,-4.69897)  
            (0.521  ,-4.39794)  
            (0.526  ,-4.30103)  
            (0.5311 ,-4.1549 )  
            (0.536  ,-4.09691)  
            (0.5411 ,-4      )  
            (0.5511 ,-3.88606)  
            (0.5611 ,-3.79588)  
            (0.5711 ,-3.72125)  
            (0.5811 ,-3.67778)  
            (0.5911 ,-3.61979)  
            (0.611  ,-3.52288)  
            (0.6412 ,-3.40894)  
            (0.6811 ,-3.30103)  
            (0.7311 ,-3.19382)  
            (0.7911 ,-3.09691)}; 
            \node[label={180:{($\varepsilon_{cor}$)}},circle,fill,inner sep=2pt] at (axis cs:0.5066,-5.4) {};
        \end{axis}
    \end{tikzpicture}

答え1

ラベルをシフトするために使用しますyshift。ラベルを持つノードは次のようになります。

\node[label={[yshift=2ex]180:{($\varepsilon_{cor}$)}},circle,fill,inner sep=2pt] at (axis cs:0.5066,-5.4) {};

残りを現状のままにしておくと、結果は次のようになります。

ここに画像の説明を入力してください

編集

OP からリクエストがあったので、別の解決策も含めます。ラベルを目盛りの右側に配置するには、 を指定する必要がありますlabel={[right,yshift...

私は手動で調整してみました

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{amsmath,amssymb}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture} 
    \pgfplotsset{width=10cm,}
        \begin{axis}[
            xlabel={$\varepsilon$ /\si{\volt}},
            ylabel={$\lg \vert I \vert$},
            axis lines = box,
            xmin=0.18, xmax=0.82,
            ymin=-5.4, ymax=-2.9,
            xtick={0.2,0.3,0.4,0.5,0.6,0.7,0.8},
            ytick={-5,-4.5,-4,-3.5,-3,-2.5,-2},
            ymajorgrids=true,
            grid style=dashed,]
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.2208 ,-3.05061)
            (0.2809 ,-3.1549 )
            (0.3309 ,-3.26761)
            (0.3709 ,-3.38722)
            (0.4008 ,-3.49485)
            (0.4208 ,-3.58503)
            (0.4309 ,-3.63827)
            (0.4408 ,-3.69897)
            (0.4508 ,-3.76955)
            (0.4609 ,-3.85387)
            (0.4708 ,-3.95861)
            (0.4759 ,-4.04576)
            (0.4808 ,-4.09691)
            (0.4858 ,-4.22185)
            (0.4909 ,-4.30103)
            (0.4958 ,-4.52288)
            (0.4978 ,-4.52288)
            (0.4998 ,-4.69897)
            (0.5019 ,-5      )
            (0.5039 ,-5      )
            (0.5063 ,-5.41   )}; 
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.5066 ,-5.41   )  
            (0.5101 ,-5      )  
            (0.5121 ,-5      )  
            (0.5141 ,-4.69897)  
            (0.5161 ,-4.69897)  
            (0.521  ,-4.39794)  
            (0.526  ,-4.30103)  
            (0.5311 ,-4.1549 )  
            (0.536  ,-4.09691)  
            (0.5411 ,-4      )  
            (0.5511 ,-3.88606)  
            (0.5611 ,-3.79588)  
            (0.5711 ,-3.72125)  
            (0.5811 ,-3.67778)  
            (0.5911 ,-3.61979)  
            (0.611  ,-3.52288)  
            (0.6412 ,-3.40894)  
            (0.6811 ,-3.30103)  
            (0.7311 ,-3.19382)  
            (0.7911 ,-3.09691)}; 
            \node[label={[right,yshift=2.1ex,xshift=0.3em]180:{($\varepsilon_{\mathrm{cor}})=0.5066$}},circle,fill,inner sep=2pt] at (axis cs:0.5066,-5.4) {};
        \end{axis}
    \end{tikzpicture}
   \end{document}

制作:

ここに画像の説明を入力してください

編集2

軸上のラベルの位置を変更しました。

核となる部分は次のとおりです。

extra x ticks={0.5066},
        extra x tick labels={$\varepsilon_{\mathrm{cor}} ({\scriptstyle 0.5066})$},

また、軸の目盛りも修正しました。

        \node[circle,fill,inner sep=1.5pt] at (axis cs:0.5066,-5.4) {};

コードは次のとおりです:

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{amsmath,amssymb}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture} 
    \pgfplotsset{width=10cm,}
        \begin{axis}[
            xlabel={$\varepsilon$ /\si{\volt}},
            ylabel={$\lg \vert I \vert$},
            axis lines = box,
            xmin=0.18, xmax=0.82,
            ymin=-5.4, ymax=-2.9,
            xtick={0.2,0.4,0.6,0.8},
            ytick={-5,-4,-3,-2},
            ymajorgrids=true,
            extra x ticks={0.5066},
            extra x tick labels={$\varepsilon_{\mathrm{cor}} ({\scriptstyle 0.5066})$},
            grid style=dashed,]
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.2208 ,-3.05061)
            (0.2809 ,-3.1549 )
            (0.3309 ,-3.26761)
            (0.3709 ,-3.38722)
            (0.4008 ,-3.49485)
            (0.4208 ,-3.58503)
            (0.4309 ,-3.63827)
            (0.4408 ,-3.69897)
            (0.4508 ,-3.76955)
            (0.4609 ,-3.85387)
            (0.4708 ,-3.95861)
            (0.4759 ,-4.04576)
            (0.4808 ,-4.09691)
            (0.4858 ,-4.22185)
            (0.4909 ,-4.30103)
            (0.4958 ,-4.52288)
            (0.4978 ,-4.52288)
            (0.4998 ,-4.69897)
            (0.5019 ,-5      )
            (0.5039 ,-5      )
            (0.5063 ,-5.41   )}; 
        \addplot[
            color=black,
            mark=*, mark size=1.5,
            ]
            coordinates {
            (0.5066 ,-5.41   )  
            (0.5101 ,-5      )  
            (0.5121 ,-5      )  
            (0.5141 ,-4.69897)  
            (0.5161 ,-4.69897)  
            (0.521  ,-4.39794)  
            (0.526  ,-4.30103)  
            (0.5311 ,-4.1549 )  
            (0.536  ,-4.09691)  
            (0.5411 ,-4      )  
            (0.5511 ,-3.88606)  
            (0.5611 ,-3.79588)  
            (0.5711 ,-3.72125)  
            (0.5811 ,-3.67778)  
            (0.5911 ,-3.61979)  
            (0.611  ,-3.52288)  
            (0.6412 ,-3.40894)  
            (0.6811 ,-3.30103)  
            (0.7311 ,-3.19382)  
            (0.7911 ,-3.09691)}; 
                       \node[circle,fill,inner sep=1.5pt] at (axis cs:0.5066,-5.4) {};
        \end{axis}
    \end{tikzpicture}\end{document}

そして結果がこれです

ここに画像の説明を入力してください

基本的に:

  • 両方の軸の目盛りを減らしました(お好みでどうぞ)

  • 私はX軸に目盛りを追加し、extra x ticks

  • 追加のチェックマークにラベルを付けました(スタイルを微調整する必要がある場合があります。たとえば、\smallまたは数字を修正します)

  • プロット上のラベルは冗長なので削除しました

  • inner sep軸上の単一の目盛りを まで減らしました1.5ptが、微調整が必​​要になるかもしれません。

ここから始められると思います。

関連情報