tikzpicture 위치 지정 및 축 범위 결정

tikzpicture 위치 지정 및 축 범위 결정

또 다른 질문에서는 이 그림을 만드는 데 큰 도움을 받았습니다.

막대 그래프

실제로는 어떻게 되어야 하는지 보이지만 추가적으로 명확히 하고 싶은 두 가지 사항이 있습니다.

첫째로, 다음 경고가 표시됩니다 Axis range for axis x is approximately empty; enlarging it (it is [0.0:0.0]). 범위를 결정하려고 했지만 모든 막대를 계속 표시하는 xmax 값을 찾을 수 없습니다.

그리고둘째로, 사진의 위치를 ​​어떻게 알 수 있나요? 예를 들어 왼쪽 정렬? \flushleft 및 \raggedright를 사용한 모든 시도는 성공적으로 종료되지 않았습니다.

Ctrl+클릭을 했을 때 제가 알아차린 것이 하나 있습니다 \end{axis}. 뭔가 문제가 발생하고 있는 것 같습니다. 국경 너머에는 무슨 일이 벌어지고 있는지 전혀 모르겠습니다...

막대 그래프 오류

\documentclass[paper=a4, parskip=half-, draft]{scrreprt}

\tolerance=2000
\emergencystretch=1em
\hfuzz=2pt
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{shapes,arrows,positioning,shadows,trees}
\pgfplotsset{compat=1.7}    %bestimmt exakte version zur gleichen

\setlength{\parindent}{0pt}
\begin{document}
        \begin{figure}[!h]
            \begin{tikzpicture}[scale=0.8]
            \begin{axis}[
            title=\textbf{Aus welchen Gründen wurde eLearning in Ihrem Klinikum implementiert?},
            ybar=15,            %Abstand zwischen den Balken
            ymin=0,
            ymax=50,            %maximale Diagrammhöhe
            xmin=0,
            xmax=,
            %ymajorgrids,       %Horizontale Guidelines
            bar width=30pt,     %Balkenbreite
            xtick=\empty,       %keine kleinen Striche auf x achse
            nodes near coords={\pgfmathprintnumber\pgfplotspointmeta \%},           %Fügt Prozent an
            nodes near coords align={vertical},
            legend style={
                legend pos=outer north east,
                row sep=10pt,
                /tikz/nodes={text width=135pt,text depth=}
            }]

            \addplot coordinates{(0,31.1)};
            \addlegendentry{Aufgrund der gesetzlichen Nachweispflicht (Brandschutz, Arbeitsschutz, etc.)}

            \addplot coordinates{ (0,17.8)};
            \addlegendentry{Einweisung zur Nutzung medizinischer Geräte}

            \addplot coordinates{ (0,44.4)};
            \addlegendentry{Zur generellen zeit- und ortsungebundenen Weiterbildung von Mitarbeitern}

            \addplot coordinates{ (0,6.7)};
            \addlegendentry{Sonstige}

            \end{axis}
            \end{tikzpicture}
        \end{figure}

\end{document}

도움을 주셔서 감사합니다!

답변1

첫째: 경고를 무시하거나 xminxmax대칭을 으로 설정할 수 있습니다 0. 예: xmin=-1xmax=1.

둘째: 긴 플롯 제목에 따라 그림의 경계 상자가 왼쪽으로 확대됩니다. 따라서 \raggedright플롯 제목은 왼쪽 정렬됩니다. 따라서 플롯 제목의 위치를 ​​변경해야 합니다.

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

암호:

\documentclass[paper=a4, parskip=half-, draft]{scrreprt}
\usepackage{showframe}% show the page layout

\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{pgfplots}
\pgfplotsset{compat=1.7}    %bestimmt exakte version zur gleichen

%\setlength{\parindent}{0pt}% <- not needed because you use parskip=half- option
\begin{document}
\begin{figure}[!h]
    \begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    title=\textbf{Aus welchen Gründen wurde eLearning in Ihrem Klinikum implementiert?},
    title style={at={(0,1)},anchor=south west,inner xsep=0pt},% <- added
    ybar=15,            %Abstand zwischen den Balken
    ymin=0,
    ymax=50,            %maximale Diagrammhöhe
    xmin=-1,% <-changed
    xmax=1,% <- changed
    %ymajorgrids,       %Horizontale Guidelines
    bar width=30pt,     %Balkenbreite
    xtick=\empty,       %keine kleinen Striche auf x achse
    nodes near coords={\pgfmathprintnumber\pgfplotspointmeta \%},           %Fügt Prozent an
    nodes near coords align={vertical},
    legend style={
        legend pos=outer north east,
        row sep=10pt,
        /tikz/nodes={text width=135pt,text depth=}
    }]

    \addplot coordinates{(0,31.1)};
    \addlegendentry{Aufgrund der gesetzlichen Nachweispflicht (Brandschutz, Arbeitsschutz, etc.)}

    \addplot coordinates{ (0,17.8)};
    \addlegendentry{Einweisung zur Nutzung medizinischer Geräte}

    \addplot coordinates{ (0,44.4)};
    \addlegendentry{Zur generellen zeit- und ortsungebundenen Weiterbildung von Mitarbeitern}

    \addplot coordinates{ (0,6.7)};
    \addlegendentry{Sonstige}

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

또는 플롯 제목을 플롯 중앙에 배치해야 하는지 여부그리고전설

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

암호:

\documentclass[paper=a4, parskip=half-, draft]{scrreprt}
\usepackage{showframe}% show the page layout

\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{pgfplots}
\pgfplotsset{compat=1.7}    %bestimmt exakte version zur gleichen

%\setlength{\parindent}{0pt}% <- not needed because you use parskip=half- option
\begin{document}
\begin{figure}[!h]
    \begin{tikzpicture}[scale=0.8]
    \begin{axis}[
    %title=\textbf{Aus welchen Gründen wurde eLearning in Ihrem Klinikum implementiert?},% <- removed
    ybar=15,            %Abstand zwischen den Balken
    ymin=0,
    ymax=50,            %maximale Diagrammhöhe
    xmin=-1,% <-changed
    xmax=1,% <- changed
    %ymajorgrids,       %Horizontale Guidelines
    bar width=30pt,     %Balkenbreite
    xtick=\empty,       %keine kleinen Striche auf x achse
    nodes near coords={\pgfmathprintnumber\pgfplotspointmeta \%},           %Fügt Prozent an
    nodes near coords align={vertical},
    legend style={
        legend pos=outer north east,
        row sep=10pt,
        /tikz/nodes={text width=135pt,text depth=}
    }]

    \addplot coordinates{(0,31.1)};
    \addlegendentry{Aufgrund der gesetzlichen Nachweispflicht (Brandschutz, Arbeitsschutz, etc.)}

    \addplot coordinates{ (0,17.8)};
    \addlegendentry{Einweisung zur Nutzung medizinischer Geräte}

    \addplot coordinates{ (0,44.4)};
    \addlegendentry{Zur generellen zeit- und ortsungebundenen Weiterbildung von Mitarbeitern}

    \addplot coordinates{ (0,6.7)};
    \addlegendentry{Sonstige}

    \end{axis}
    \node[anchor=south,font=\bfseries\footnotesize]at (current bounding box.north){Aus welchen Gründen wurde eLearning in Ihrem Klinikum implementiert?};% <- added
    \end{tikzpicture}
\end{figure}
\end{document}

관련 정보