pgfplot의 점선 세그먼트 및 범례의 글꼴 크기 변경

pgfplot의 점선 세그먼트 및 범례의 글꼴 크기 변경

다음 코드가 있습니다.

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs,siunitx}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
%\usepgfplotslibrary{external}
%\tikzexternalize
\begin{center}
\begin{tikzpicture}
\begin{axis}[
    title={$x-t$ graph model of LAB 1},
    height=10cm,
    width=10.2cm,
    xlabel={time ($t$)},
    ylabel={position ($x$)},
    xmin=0, xmax=10,
    ymin=0, ymax=12,
    xtick={0,1,2,3,4,5,6,7,8,9,10},
    ytick={0,2,4,6,8,10,12},
    legend pos=south east,
    ymajorgrids=true,
    grid style=dashed,
    legend entries={$x$,$x^2$},
        legend style={
            at={(1.03,0.5)},
            anchor=west}
]
\addplot[
    color=blue,
    mark=square,
    ]
    coordinates {
    (0,0)(1.48,2)(2.76,4)(4.02,6)(5.22,8)(6.43,10)(7.76,12)
    };
\addplot[
    color=red,
    mark=square,
    ]
    coordinates {
    (0,0)(1.66,2)(3.21,4)(4.76,6)(6.32,8)(7.81,10)(9.47,12)
    };
\addplot[
    color=green,
    mark=square,
    ]
    coordinates {
    (0,12)(1.53,10)(2.94,8)(4.53,6)(5.95,4)(7.36,2)(8.83,0)
    };
\addplot[
    color=black,
    mark=square,
    ]
    coordinates {
    (0,12)(1.80,10)(3.46,8)(4.94,6)(6.49,4)(8.20,2)(9.85,0)
    };
\legend{Trail 1 (fast and $+$), Trail 2 (slow and $+$), Trail 3 (fast and $-$), Trail 4 (slow and $-$)}
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}

그러면 다음 이미지가 생성됩니다.

그래프

위의 선분을 점선(검은색, 파란색, 빨간색, 녹색)으로 만드는 방법이 궁금합니다. 그 위에 가장 잘 맞는 선을 추가하고 싶기 때문에 선을 점으로 표시하고 싶습니다. 또한 범례의 텍스트 크기를 어떻게 변경합니까? 좀 더 작게 만들고 싶어서 그래프를 더 크게 만들었습니다. 감사해요!

답변1

나는 다음과 같이 변경했습니다.

  1. 추가됨 every axis plot/.append style={line width=2pt,dotted}, 점선 스타일로 각 줄의 너비를 2pt로 만듭니다.
  2. 추가됨 mark options={solid}, 각 표시에 대한 선이 실선으로 표시됩니다. 그렇지 않으면 점선으로 표시됩니다.
  3. 범례의 텍스트를 더 작게 만들기 위해 font=\scriptsize을 에 추가했습니다 .legend style

여기에 이미지 설명을 입력하세요

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs,siunitx}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,
compat=1.9,
every axis plot/.append style={line width=2pt,dotted} %<- added
}
%\usepgfplotslibrary{external}
%\tikzexternalize
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
    title={$x-t$ graph model of LAB 1},
    height=10cm,
    width=10.2cm,
    xlabel={time ($t$)},
    ylabel={position ($x$)},
    xmin=0, xmax=10,
    ymin=0, ymax=12,
    xtick={0,1,2,3,4,5,6,7,8,9,10},
    ytick={0,2,4,6,8,10,12},
    mark options={solid},   %<- to get solid lines for markers
 %   legend pos=south east, %<- this is overwritten by legend style
    ymajorgrids=true,
    grid style=dashed,
    legend entries={$x$,$x^2$},
        legend style={
            at={(1.03,0.5)},
            font=\scriptsize, %<- added
            anchor=west}
]
\addplot[
    color=blue,
    mark=square,
    ]
    coordinates {
    (0,0)(1.48,2)(2.76,4)(4.02,6)(5.22,8)(6.43,10)(7.76,12)
    };
\addplot[
    color=red,
    mark=square,
    ]
    coordinates {
    (0,0)(1.66,2)(3.21,4)(4.76,6)(6.32,8)(7.81,10)(9.47,12)
    };
\addplot[
    color=green,
    mark=square,
    ]
    coordinates {
    (0,12)(1.53,10)(2.94,8)(4.53,6)(5.95,4)(7.36,2)(8.83,0)
    };
\addplot[
    color=black,
    mark=square,
    ]
    coordinates {
    (0,12)(1.80,10)(3.46,8)(4.94,6)(6.49,4)(8.20,2)(9.85,0)
    };
\legend{Trail 1 (fast and $+$), Trail 2 (slow and $+$), Trail 3 (fast and $-$), Trail 4 (slow and $-$)}
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}

이 버전은 각 플롯에 로컬로 선 스타일을 적용합니다. 이는 line width=2pt,dotted각 에 적용된 옵션을 추가하여 수행됩니다 \addplot.

\documentclass[11pt]{scrartcl}
%\usepackage[utf8]{inputenc} %<- default
\usepackage[T1]{fontenc}
\usepackage{booktabs,siunitx}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,
compat=1.9,
%every axis plot/.append style={line width=2pt,dotted} %<- added
}
%\usepgfplotslibrary{external}
%\tikzexternalize
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
    title={$x-t$ graph model of LAB 1},
    height=10cm,
    width=10.2cm,
    xlabel={time ($t$)},
    ylabel={position ($x$)},
    xmin=0, xmax=10,
    ymin=0, ymax=12,
    xtick={0,1,2,3,4,5,6,7,8,9,10},
    ytick={0,2,4,6,8,10,12},
    mark options={solid},   %<- to get solid lines for markers
 %   legend pos=south east, %<- this is overwritten by legend style
    ymajorgrids=true,
    grid style=dashed,
    legend entries={$x$,$x^2$},
        legend style={
            at={(1.03,0.5)},
            font=\scriptsize, %<- added
            anchor=west}
]
\addplot[
    color=blue,
    mark=square,
    line width=2pt,
    dotted
    ]
    coordinates {
    (0,0)(1.48,2)(2.76,4)(4.02,6)(5.22,8)(6.43,10)(7.76,12)
    };
\addplot[
    color=red,
    mark=square,
    line width=2pt,
    dotted
    ]
    coordinates {
    (0,0)(1.66,2)(3.21,4)(4.76,6)(6.32,8)(7.81,10)(9.47,12)
    };
\addplot[
    color=green,
    mark=square,
    line width=2pt,
    dotted
    ]
    coordinates {
    (0,12)(1.53,10)(2.94,8)(4.53,6)(5.95,4)(7.36,2)(8.83,0)
    };
\addplot[
    color=black,
    mark=square,
    line width=2pt,
    dotted
    ]
    coordinates {
    (0,12)(1.80,10)(3.46,8)(4.94,6)(6.49,4)(8.20,2)(9.85,0)
    };
\legend{Trail 1 (fast and $+$), Trail 2 (slow and $+$), Trail 3 (fast and $-$), Trail 4 (slow and $-$)}
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}

관련 정보