![调整 Tikzpicture 中的 y 轴(条形图)](https://linux22.com/image/351116/%E8%B0%83%E6%95%B4%20Tikzpicture%20%E4%B8%AD%E7%9A%84%20y%20%E8%BD%B4%EF%BC%88%E6%9D%A1%E5%BD%A2%E5%9B%BE%EF%BC%89.png)
我花了 2 个多小时才弄清楚,但就是搞不懂。我需要一张条形图,在某个网站上找到了一个很好的解决方案。但我实在搞不懂如何调整 y 轴。
\begin{figure}[H]
\centering
\begin{tikzpicture}
\draw (0,0) -- (11.5,0); %Abzisse
\draw (0,0) -- (0,-0.1); %linkes Ende der Abzisse
\draw (-0.1,0) -- (-0.1,8.5); %Ordinate
\draw (-0.1,0) -- (-0.2,0); %unteres Ende der Ordinate
\foreach \x in {5,10,15} %Hilfslinien
\draw[gray!50, text=black] (-0.2,\x) -- (11.5,\x)
node at (-0.5,\x) {\x}; %Beschriftung der Hilfslinien
\foreach \x/\y/\anzahl in {0.3/3/16, %\x ist Anfang der Säulen
1.3/8/17, %\y ist Höhe der Säulen
2.3/3/18,
3.3/2/19,
4.3/2/20,
5.3/1/21,
6.3/1/22,
7.3/1/24,
8.3/2/31,
9.3/1/42,
10.3/1/43}
{
\draw[fill=myblue] (\x cm,0cm) rectangle (0.6+\x ,\y ) %die Säulen
node at (0.3 + \x ,\y + 0.3) {\y}; %die Prozente über den Säulen
\node[rotate=0, left] at (0.85 +\x,-0.5) {\anzahl}; %Säulenbeschriftung
};
\end{tikzpicture}
\caption{Sonne} \label{fig:BD1}
\end{figure}
我想调整 y 轴。它仍应创建 5、10 和 15 的线条,但不是以厘米为单位,这会使图表变得巨大。有没有办法告诉 latex 在 y 轴上 2 厘米处创建 5 号线,从而在 5 厘米处创建 10 号线,依此类推?
答案1
这是你想要的吗?
顺便说一句,你可以看看pgfplots
(如果没有德语手册我会很惊讶。)
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (11.5,0); %Abzisse
\draw (0,0) -- (0,-0.1); %linkes Ende der Abzisse
\draw (-0.1,0) -- (-0.1,8.5); %Ordinate
\draw (-0.1,0) -- (-0.2,0); %unteres Ende der Ordinate
\foreach \x in {2,4,6,8} %Hilfslinien
\draw[gray!50, text=black] (-0.2,\x) -- (11.5,\x)
node at (-0.5,\x) {\x}; %Beschriftung der Hilfslinien
\foreach \x/\y/\anzahl in {0.3/3/16, %\x ist Anfang der Säulen
1.3/8/17, %\y ist Höhe der Säulen
2.3/3/18,
3.3/2/19,
4.3/2/20,
5.3/1/21,
6.3/1/22,
7.3/1/24,
8.3/2/31,
9.3/1/42,
10.3/1/43}
{
\draw[fill=blue] (\x cm,0cm) rectangle (0.6+\x ,\y ) %die Säulen
node at (0.3 + \x ,\y + 0.3) {\y}; %die Prozente über den Säulen
\node[rotate=0, left] at (0.85 +\x,-0.5) {\anzahl}; %Säulenbeschriftung
};
\end{tikzpicture}
\end{document}