別の質問では、この画像を作成するのに非常に役立ちました:
実際にはそのように見えますが、さらに 2 つの点を明確にしておきたいことがあります。
まず、次の警告が表示されます:Axis range for axis x is approximately empty; enlarging it (it is [0.0:0.0])
範囲を決定しようとしましたが、すべてのバーが表示されたままになる xmax の値が見つかりません。
そして第二に画像の位置をどのように決定すればよいでしょうか? たとえば、左揃えなどでしょうか? \flushleft および \raggedright を使用した試みはすべて失敗に終わりました。
Ctrl キーを押しながらクリックしたときに気づいたことが 1 つあります。\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
まず、警告を無視するか、 と をxmin
とxmax
対称的に設定します0
。たとえば、xmin=-1
と ですxmax=1
。
2 つ目: 長いプロット タイトルによって、画像の境界ボックスが左に拡大されます。そのため、\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}