Tikzpicture - wie man große Häkchen länger oder dicker macht

Tikzpicture - wie man große Häkchen länger oder dicker macht

Ich versuche, die großen Markierungen (11, 12, 13, 14, 15, 16, 17, 18, 19 und 20) entweder dicker oder länger zu machen, damit die Boxplot-Statistiken leichter zu erkennen sind. Weiß jemand, wie das geht?

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{pgfplots}
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{amssymb}
\usetikzlibrary{patterns}
\usepackage{xcolor}
\usetikzlibrary{arrows}
\usepgfplotslibrary{fillbetween}
\usepgfplotslibrary{statistics}
\usetikzlibrary{shapes.misc}
\begin{document}
\begin{tikzpicture}
\pgfmathsetlengthmacro\MajorTickLength{
    \pgfkeysvalueof{/pgfplots/major tick length} * 4
}
\begin{axis}
[
ytick=\empty,
xmin=11,
xmax=20,
xmajorticks=true,
minor x tick num=4,
xtick={11,12,13,14,15,16,17,18,19,20},
axis x line=bottom,
axis line style={latex-latex},
axis y line=none,
enlargelimits=0.05,
height=3.5cm,
width=13cm,
clip=false
]

\addplot[
yshift=0.1cm,
boxplot prepared={
median=15.5,
upper quartile=17.6,
lower whisker=11,
lower quartile=13.6,
upper whisker=19,
whisker extend=0 % height of whiskers
},black
] coordinates {};
%
\end{axis}
\end{tikzpicture}
\end{document}

Danke schön!

aktueller Output

Antwort1

Auf Seite 342 aus demHandbuch(Version 1.16) führt Optionen zur Anpassung every minor tick/.append style={...}ein every major tick/.append style={...}. Sie müssen minor tick length = somethingund major tick length= somethingdarin verwenden. Ich habe Ihren Code in ein minimales Beispiel komprimiert.

PS: Das brauchst du nicht \pgfmathsetlengthmacro\MajorTickLength{...}.

Ausgabe

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{pgfplots}
\usepackage{tikz}
\pgfplotsset{compat = newest} % Current version is 1.16

\usepgfplotslibrary{statistics}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
ytick=\empty,
xmin=11,
xmax=20,
minor x tick num=4,
xtick={11,12,13,14,15,16,17,18,19,20},
%%%%%%%%%%%%%%%%%%%% What you need:
every major tick/.append style={very thick, major tick length=10pt, black},
every minor tick/.append style={thick, minor tick length=3pt, red},
%%%%%%%%%%%%%%%%%%%%
axis x line=bottom,
axis line style={latex-latex},
axis y line=none,
enlargelimits=0.05,
height=3.5cm,
width=13cm,
clip=false,
]
\addplot[
yshift=0.2cm,
boxplot prepared={
median=15.5,
upper quartile=17.6,
lower whisker=11,
lower quartile=13.6,
upper whisker=19,
whisker extend=0 % height of whiskers
},black
] coordinates {};
%
\end{axis}
\end{tikzpicture}
\end{document}

Antwort2

Mit \pgfmathsetlengthmacro\MajorTickLength{...}haben Sie gerade eine Länge erstellt und einen Wert darauf gespeichert, aber Sie haben nieangewandtdieser Wert irgendwo. Durch Hinzufügen erhalten Sie also major tick length=\MajorTickLengthdas axisgewünschte Ergebnis.

Bitte beachten Sie, dass ich Ihren Code stark vereinfacht habe - wie M. Al Jumaily es inseine Antwortebenso -- um das gleiche Ergebnis zu erzielen ...

% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \usepgfplotslibrary{statistics}
\begin{document}
\begin{tikzpicture}
    \pgfmathsetlengthmacro\MajorTickLength{
        \pgfkeysvalueof{/pgfplots/major tick length} * 4
    }
    \begin{axis}[
        height=4cm,             % <-- (adjusted)
        width=13cm,
        axis x line=bottom,
        axis y line=none,
        axis line style={latex-latex},
        xmin=11,
        xmax=20,
        xtick distance=1,       % <-- (added)
        minor x tick num=4,
        ytick=\empty,
        major tick length=\MajorTickLength, % <-- added
        enlarge x limits=0.05,  % <-- (changed)
        enlarge y limits=0.25,  % <-- (added and adjusted)
    ]

        \addplot[
            boxplot prepared={
                median=15.5,
                upper quartile=17.6,
                lower whisker=11,
                lower quartile=13.6,
                upper whisker=19,
                whisker extend=0, % height of whiskers
            },
            black,
        ] coordinates {};

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

Bild, das das Ergebnis des obigen Codes zeigt

verwandte Informationen