TransWikia.com

Dotted line segments in pgfplots and changing font size in legend

TeX - LaTeX Asked by user204915 on June 30, 2021

I have the following code:

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}

which produces the following image:

Graph

I am wondering how I am make the above line segments dashed (ie the black, blue, red, green). I want to add a line of best fit over it, so I would like the lines to be dotted. Also, how do you change the text size of the legend? I would like it to be slightly smaller so I am make the graph larger. Thanks!

One Answer

I made these changes:

  1. added every axis plot/.append style={line width=2pt,dotted}, which makes each line 2pt wide in dotted style
  2. added mark options={solid}, which makes the line for each mark solid, otherwise they would be dotted
  3. added font=scriptsize, to the legend style, to make the text of the legend smaller.

enter image description here

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}

This version applies the line style locally to each plot. This is done by adding line width=2pt,dotted to the options applied to each 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}

Correct answer by Ross on June 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP